C# 实体框架核心multipleDbContext代码共享实体的首次迁移

C# 实体框架核心multipleDbContext代码共享实体的首次迁移,c#,.net-core,entity-framework-core,C#,.net Core,Entity Framework Core,我在我的应用程序中使用了多个dbContext(IdentityDbContext和dbContext)。 由于某些原因,我必须使用多个DBContext,因为我知道您会回答我只使用DBContext作为从IdentityDbContext继承DBContext(我不会这样做) 无论如何,我在DBContext中有一个名为Patient的表,它与用户有外键关系。并且用户属于IdentityDBContext 现在,当我从DBContext生成迁移脚本时,它为用户添加了DDL;尽管在Identit

我在我的应用程序中使用了多个dbContext(IdentityDbContext和dbContext)。 由于某些原因,我必须使用多个DBContext,因为我知道您会回答我只使用DBContext作为从IdentityDbContext继承DBContext(我不会这样做)

无论如何,我在DBContext中有一个名为Patient的表,它与用户有外键关系。并且用户属于IdentityDBContext

现在,当我从DBContext生成迁移脚本时,它为用户添加了DDL;尽管在IdentityDBContext迁移过程中已经创建了用户表。 看来,移民关系中缺少了一些东西。我想创建外键Patient.UserId==>User.UserId,但不创建用户表ddl脚本


有谁能帮助我如何定义在另一个DBContext中定义的两个实体之间的这种关系。

这里的解决方法是创建迁移和注释生成的代码(类似于以前的EF版本-IgnoreChanges开关)。应用迁移,该迁移最终不会更改任何内容,但会跟踪当前的
DbContext
模型快照,并且永远不会再次生成代码


缺点是每次更改
IdentityDbContext
并应用新迁移时都需要执行此步骤。

您使用的是哪个存储?如果使用SQL Server或类似工具,您可以在两者之间创建一个DB链接,并设置一个视图,以便实际将对象映射到您的上下文。可能重复:谢谢@Fenixil。我检查了建议的解决方案,但它对我不起作用。i、 e.Ignore也将忽略外键,第二个建议暂时禁用迁移在我的案例中没有答案Thank@jcruz。我正在使用SQL Server。你能解释一下DB上下文之间的DB链接对我有什么帮助吗。我从未在EF中应用DB链接。让我看看它是否能解决我的问题