我正在为Entity Framework Core 1.1.2(带有目标框架:.NET 4.5.2)编写一个新的数据库提供程序,我有一个非常令人沮丧的问题。我相关的已安装NuGet包是:
我有一个继承自Microsoft.EntityFrameworkCore.DbSet的MyDbSet类:
public class MyDbSet<TEntity> : DbSet<TEntity> where TEntity : class {
}
我有一个上下文类,它简单如下:
public class MyContext : DbContext {
public MyDbSet<MyOtherModel> Others { get; set; }
// Constructor
public MyModel() {
others = new MyDbSet<MyOtherModel>();
}
}
我实例化一个MyContext对象,
MyContext myContext = new MyContext();
我想做以下事情:
myContext.Others.Add(new MyOtherModel());
这里我收到一个例外,说明添加方法未实现。
看到EF Core文档,DbSet确实是一个带有抽象的,未实现的方法的抽象类。这样对吗?我应该真的编写自己的DbSet实现吗?或者在某处有默认的实现吗?如果是这样,我需要访问哪个程序集/ NuGet包?