是否可以使用两个Context自动生成数据库?

时间:2016-05-05 17:54:23

标签: c# entity-framework ef-code-first

我正在使用实体框架代码优先 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自动生成数据库?

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。这是一个稍微过时的教程:

实体框架6具有多个数据上下文的代码优先迁移

它指定了两个场景:同一个项目中的多个DbContexts,以及单独的项目。

希望有所帮助!