为什么有时DbSet.Set <TEntity>()不起作用

时间:2019-08-21 12:55:57

标签: c# entity-framework entity-framework-core

我跟随一本教科书使用DbSet.Set()并成功了(使用代码优先方法),教科书说:

  

这是处理的有用功能   您需要偶尔或有限访问权限以进行特定操作且不保证升级为DbSet属性的数据

然后在另一种情况下,我有一个现有的数据库来手动创建数据模型,然后DbSet.Set()不起作用,它会抛出错误:

  

“无法为'XXX'创建DbSet,因为此类型不包含在上下文模型中。'

那么为什么DbSet.Set()在这种情况下不起作用?这是否意味着DbSet.Set()仅适用于“代码优先”方法?

1 个答案:

答案 0 :(得分:0)

您需要将上下文包含在ApplicationDbContext.cs文件(默认名称)中,如下所示:

protected override void OnModelCreating(ModelBuilder builder)
{
        base.OnModelCreating(builder);

}

public DbSet<YourModelName> YourModelNamePlural { get; set; }