实体框架核心1.1.2的DbSet实现

时间:2017-09-09 14:40:46

标签: dbset entity-framework-core

我正在为Entity Framework Core 1.1.2(带有目标框架:.NET 4.5.2)编写一个新的数据库提供程序,我有一个非常令人沮丧的问题。我相关的已安装NuGet包是:

  • Microsoft.EntityFrameworkCore
  • Microsoft.EntityFrameworkCore.Relational
  • Microsoft.EntityFrameworkCore.SqlServer

我有一个继承自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包?

0 个答案:

没有答案