假设我在项目A中有一个课程:
public class ClassOne
{
public int Id { get; set; }
public int ClassTwoId { get; set; }
public ClassTwo ClassTwo { get; set; }
}
项目B中的一个课程:
public class ClassTwo
{
public int Id { get; set; }
public ICollection<ClassOne> ClassOnes { get; set;}
}
和地图:
var entityConfig = modelBuilder.Entity<ClassOne>();
entityConfig.HasRequired(x => x.ClassTwo)
.WithMany(x => x.ClassOnes)
.HasForeignKey(x => x.ClassTwoId);
因为在Entity Framework中你需要在ClassTwo中有一个ClassOne的集合来在Code First中映射它,我该如何正确映射它并避免在项目A和B之间生成的循环引用?
答案 0 :(得分:0)
最好的方法是将所有实体放入同一个项目中。
如果您将它们放在单独的项目中并且您想要阻止循环项目引用,则应该在引用前两个项目的第三个项目中进行映射。