【发布时间】:2014-06-08 08:59:05
【问题描述】:
这是我的通用基础存储库(它的一部分) - 使用 EntityFramework 6(是的,EF6 确实有一个通用存储库,但网络上有很多相互矛盾的意见是否仍然使用存储库模式,我将使用存储库)
public class BaseRepository<T> : IBaseRepository<T> where T: class
{
private BlueWhaleEntities _dbContext;
public BlueWhaleEntities DbContext { get; set; }
public BaseRepository(BlueWhaleEntities dbContext )
{
_dbContext = dbContext;
}
//...More Add,Remove Generic Methods
我有一个更具体的PersonRespository
class PersonRepository: BaseRepository<Person>
{
public PersonRepository(BlueWhaleEntities blueWhaleEntities) : base(blueWhaleEntities)
{
//...Add,Remove methods for Person which override Generic repository's methods
}
}
但是看看这个,存储库的一个目的是我可以更改 ORM..但是我在构造函数中注入了 EntityFramework DataContext,将我绑定到 EF。
那么我应该在构造函数中注入什么,然后如果需要,我可以稍后将 ORM 更改为其他东西(非常不可能,但理论上)?
谢谢
【问题讨论】:
-
“所以我可以更改 ORM”几乎总是过度设计。
标签: c# entity-framework repository