繁体   English   中英

MVC5和EF6存储库模式实现的功能和过程

[英]MVC5 with EF6 Repository Pattern implementation for Functions and Procedures

我正在大型ASP.NET MVC5应用程序中实现存储库模式。每个表和视图都认为可以,但是我有点困惑如何为像方法那样导入的函数和过程创建存储库。

_context.spGetSomething(1,"name");

我发现的功能和过程的所有存储库都使用sql命令或sql查询。 导入程序是否有良好做法的示例?

我的存储库现在看起来像这样

interface IRepository<T>:IDisposable
{
 void Delete(int ID);
 void Update(T entity)
 void Insert(T entity)
 IQueryable Select()
}



public abstract class AbstractRepository<T>:IRepositori<T>
{
         protected MyDbContext context;
         public AbstractRepository(MyDbContext db)
         {
         context= db;
         }

  //interface implementation
}

并在控制器中

public MyController:Controller
{
 private IRepository<MyModel> _repository;
 MyController()
{
 _repository= new MyRepository(dbcontext);
}
// some actions 

}

我们对存储过程使用特殊的/额外的InfoEntity和InfoRepository,这种约定非常有效。 我们的BaseRepository有2种方法:SelectInfo和ListInfo。

但是我们将Dapper用作ORM,而EntityFramework没有到期日。

其他:您可以使用Unity等IoC容器通过控制器的构造函数插入Repository实例。 在数据访问层之间提供更好的隔离,并且可以进行更好的测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM