我有流利的API和實體框架(關係多對多)的問題。當我試圖從數據庫中獲取數據時,在對象Company
和pkdClassification
上有空值。價值CompanyId
和PkdClassyficationId
正常返回。實體框架CodeFirst多對多返回對象null
上下文
//in contrstructor set
// this.Configuration.LazyLoadingEnabled = true;
.Entity<CompanyPkdClassification>()
(c => new { c.PkdClassyficationId, c.CompanyId });
modelBuilder.Entity<Company>()
.HasMany(c => c.companyPkdClassification)
.WithRequired()
.HasForeignKey(c => c.CompanyId);
modelBuilder.Entity<PkdClassification>()
.HasMany(c => c.companyPkdClassification)
.WithRequired()
.HasForeignKey(c => c.PkdClassyficationId);}
pkdClassification
public class PkdClassification
{
[Key]
[DisplayName("Id")]
public int id { get; set; }
...
public virtual ICollection<CompanyPkdClassification> companyPkdClassification { get; set; }
}
companyPkdClassification
public class CompanyPkdClassification
{
[ForeignKey("company")]
public int CompanyId { get; set; }
[ForeignKey("pkdClassification")]
public int PkdClassyficationId { get; set; }
public virtual ICollection<Company> company { get; set; }
public virtual ICollection<PkdClassification> pkdClassification { get; set; }
}
而最後一個公司
public class Company : baseModel
{
...
virtual ICollection<CompanyPkdClassification> companyPkdClassification { get; set; }
}
我選擇了第二個變體,它的功能非常完美。非常感謝 :) – michal