我跟随一本教科书使用DbSet.Set()并成功了(使用代码优先方法),教科书说:
这是处理的有用功能 您需要偶尔或有限访问权限以进行特定操作且不保证升级为DbSet属性的数据
然后在另一种情况下,我有一个现有的数据库来手动创建数据模型,然后DbSet.Set()不起作用,它会抛出错误:
“无法为'XXX'创建DbSet,因为此类型不包含在上下文模型中。'
那么为什么DbSet.Set()在这种情况下不起作用?这是否意味着DbSet.Set()仅适用于“代码优先”方法?
答案 0 :(得分:0)
您需要将上下文包含在ApplicationDbContext.cs文件(默认名称)中,如下所示:
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
public DbSet<YourModelName> YourModelNamePlural { get; set; }