在我们的项目中,我们有基础项目的模块(扩展)。每个模块都有自己的实体,上下文和迁移。现在我有 ModuleA 和 ModuleB 。
在 ModuleA 中,我声明EntityA
:
public class EntityA
{
public string Id { get; set; }
}
在 ModuleB 中,我使用EntityB
类型的导航属性声明EntityA
:
public class EntityB
{
public string Id { get; set; }
public string EntityAId { get; set; }
public EntityA EntityA { get; set; }
}
当A删除时,我想级联删除与实体A相关的实体B:
modelBuilder.Entity<EntityB>().HasRequired(x => x.EntityA).WithMany().HasForeignKey(x => x.EntityAId).WillCascadeOnDelete(true);
问题是,当我尝试为 ModuleB 创建新迁移时,EF也会为EntityA
创建表格和列(已存在于 ModuleA 中) 。当EntityA
和EntityB
使用不同的上下文时,有没有办法建立它们之间的关系?