C# 实体Y有2个FK到实体X不使用EF 6
我让这段代码使用EF5工作,而不是抱怨循环依赖性:C# 实体Y有2个FK到实体X不使用EF 6,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我让这段代码使用EF5工作,而不是抱怨循环依赖性: public class Supplier { public int SupplierId { get; set; } [ForeignKey("SupplierId")] public Company SupplierE { get; set; } public int CompanyId { get; set; } [ForeignKey("CompanyId")] [InversePro
public class Supplier
{
public int SupplierId { get; set; }
[ForeignKey("SupplierId")]
public Company SupplierE { get; set; }
public int CompanyId { get; set; }
[ForeignKey("CompanyId")]
[InverseProperty("Suppliers")]
public virtual Company Company { get; set; }
}
public class Company
{
public int CompanyId { get; set; }
[InverseProperty("Company")]
public ICollection<Client> Clients { get; set; }
[InverseProperty("Company")]
public ICollection<Supplier> Suppliers { get; set; }
}
您的供应商实体由具有供应商实体列表的公司实体组成。我不认为这行得通,我不知道你的意思。这是一个基本的一对多。你能写下这个“相同但有效”
客户端
实体吗?@Heinzsiahan我对客户端实体有相同的配置,但没有收到相同的错误消息。什么时候出现错误?我怀疑客户端
也会出现错误,也许这不是客户端
的问题。很可能,当在供应商
上发生错误时,它不会检查客户端
是否有问题。我希望你明白我的意思。我可以在这里看到循环引用,在提出错误时是正确的。您有一个供应商实体,它由公司实体组成,该公司实体有供应商实体列表。我不认为这行得通,我不知道你的意思。这是一个基本的一对多。你能写下这个“相同但有效”客户端
实体吗?@Heinzsiahan我对客户端实体有相同的配置,但没有收到相同的错误消息。什么时候出现错误?我怀疑客户端
也会出现错误,也许这不是客户端
的问题。很可能,当在供应商
上发生错误时,它不会检查客户端
是否有问题。我希望你明白我的意思。我可以看到这里的循环引用,它在提出错误时是正确的。
modelBuilder
.Entity<Supplier>()
.HasRequired(c => c.Company)
.WithMany(v => v.Suppliers)
.WillCascadeOnDelete(false);
public class SupplierConfiguration: EntityTypeConfiguration<Supplier>
{
public SupplierConfiguration()
{
HasKey(c => new {c.CompanyId, c.SupplierId});
}
}
public class Client
{
public int ClientId { get; set; }
[ForeignKey("ClientId")]
public Company ClientE { get; set; }
public int CompanyId { get; set; }
[ForeignKey("CompanyId")]
[InverseProperty("Clients")]
public virtual Company Company { get; set; }
}