如何避免循环引用映射实体在不同的程序集/项目上的实体框架6
本文关键字:实体 程序集 框架 项目 循环 何避免 引用 映射 | 更新日期: 2023-09-27 18:01:38
假设我在项目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);
因为在实体框架中,你需要在ClassTwo中有一个ClassOne的集合来映射它在代码第一,我如何正确地映射它并避免在项目a和B之间生成的循环引用?
最好的方法是将所有实体放入同一个项目中。
如果您将它们放在单独的项目中,并且希望防止循环引用项目,则应该在引用前两个项目的第三个项目中进行映射