假设我有两个实体:Nationality
并且Employee
关系为 1:n。
public class Employee
{
public int Id { get; set; }
// More Properties
public virtual Nationality Nationality { get; set; }
}
public class Nationality
{
public int Id { get; set; }
public string Name { get; set; }
}
为了将 Code-First 与 Entity Framework 一起使用,我必须再添加一个属性:Employees
这是我不希望的Nationality
(它会创建循环依赖):
public class Nationality
{
public int Id { get; set; }
public string Name { get; set; }
// How to avoid this property
public virtual List<Employee> Employees { get; set; }
}
这样我就可以在配置类中配置关系1:n:
internal class EmployeeConfiguration : EntityTypeConfiguration<Employee>
{
public EmployeeConfiguration()
{
HasKey(f => f.Id);
HasRequired(e => e.Nationality)
.WithMany(e => e.Employees)
.Map(c => c.MapKey("NationalityId"));
ToTable("Employees");
}
}
有没有其他方法可以避免循环依赖并消除类Employees
外的属性Nationality
?