【发布时间】:2016-04-29 17:13:14
【问题描述】:
我在ef 5 应用程序中使用generic repository pattren。
IDbSet中有一个create()方法,在ef7的DbSet中不存在。
EF5中Create()方法的描述如下:
为此集合的类型创建一个实体的新实例。笔记 该实例未添加或附加到集合中。实例 如果底层上下文配置为,则返回的将是一个代理 创建代理并且实体类型满足以下要求 创建代理。
代码示例:
public interface IRepository<T> where T : IDisposable {
T Create();
}
public class Repository<T> : IRepository<T> where T : IDisposable {
protected IUnitOfWork uow;
protected IDbSet<T> entity;
public Repository(IUnitOfWork uow) {
this.uow = uow;
this.entity = uow.Set<T>();
}
public T Create() {
return entity.Create();
}
}
我的问题是,为什么在 EF7 的 DbSet 中删除了 Create(); 方法(注意 IDbSet 在 EF 核心中也被删除了)
我发现了这个问题:Create() Versus new T(),如果我使用 new T(),我以后有什么问题吗?
【问题讨论】:
标签: c# entity-framework entity-framework-core