[英]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.