在我的应用程序中,我有两个针对同一SQL数据库的上下文。一个上下文用于我的AspNet Identity表,另一个用于应用程序的其余部分。我想要做的是让我的用户'我的IdentityUser
中提供的表格(适用于IdentityDbContext
中的ApplicationContext
类)。我正在使用Code First Migrations,并且不希望ApplicationContext
尝试创建(或修改)该表 - 我只是想让它知道&#39;关于它,并能够查询并将其连接到其他表,但希望它被MigrateDatabaseToLatestVersion<ApplicationContext, Configuration>()
初始化程序忽略或从程序包管理器控制台发出update-database
时。
我发现了一些类似的问题,但没有合适的答案。
答案 0 :(得分:0)
在这种情况下,我认为,您必须创建一个单独的DbContext
,其中包含所有DbSet
中的所有DbContext
,并使用此主DbContext
进行迁移。
如果您希望某些实体在某些上下文中是只读的(在您的情况下为User
),您可以将以下内容定义为DbSet
public ApplicationContext:DbContext
{
...
public DbSet<User> Users { get; private set; }
}
{p> private
设置DbSet
因为Entity Framework
可以设置,但不能由用户设置。