我正在尝试流利地配置2个类。
public class Company
{
[Key]
public int Id {get; set; }
public string Name { get; set; }
public List<CompanyOwnership> OwnedBy { get; set; }
}
public class CompanyOwnership
{
public static void Configure(ModelBuilder modelBuilder)
{
modelBuilder.Entity<CompanyOwnership>()
.HasOne(cpo => cpo.OwnedCompany)
.WithMany(cp => cp.OwnedBy)
.HasForeignKey(cpo => cpo.OwnedCompanyId);
modelBuilder.Entity<CompanyOwnership>()
.HasOne(cpo => cpo.OwningCompany)
.WithMany()
.HasForeignKey(cpo => cpo.OwningCompanyId);
}
[Key]
public int Id {get; set; }
public int OwnedCompanyId { get; set; }
public Company OwnedCompany { get; set; }
public int OwningCompanyId { get; set; }
public Company OwningCompany { get; set; }
public decimal Percentage { get; set; }
}
上述代码将导致错误:
InvalidOperationException:无法确定关系 由导航属性'Company.OwnedBy'表示的类型 '列表与LT; CompanyOwnership&GT;'。手动配置关系, 或使用'[NotMapped]'属性或使用忽略此属性 'OnModelCreating'中的'EntityTypeBuilder.Ignore'。
我可以获得一些有关上述设置不足的原因吗?
谢谢,
答案 0 :(得分:0)
Nvm,
原来我忘了打电话给Configure(...)。
现在工作正常。