我正在使用实体框架代码优先和 ASP.NET身份。在这种情况下,ASP.NET相关表是在第一次使用ApplicationDbContext
时自动生成的。
问题是我想创建一个单独的DLL并使用相同的数据库,新类应该在同一个Context中创建表。
我创建了一个新的DbContext
,我正在使用相同的连接名称。
不幸的是,EF不明白我希望我的DbSet
表与ApplicationDbContext
在同一个数据库中。
当它到达我正在使用我希望自动生成的表格的代码行时,会显示一条消息说明:
Npgsql.NpgsqlException:42P01:关系“public.Customers”不存在
这是一个示例代码:
var customer1 = (from u in context.Customers
where u.Id == 1234
select u).ToList();
是否可以在EF Code First中使用多个DbContext
自动生成数据库?
答案 0 :(得分:1)
是的,这是可能的。这是一个稍微过时的教程:
实体框架6具有多个数据上下文的代码优先迁移
它指定了两个场景:同一个项目中的多个DbContexts,以及单独的项目。
希望有所帮助!