使用 EF 代码 1, 我有一个具有多个属性的模型对象, 与一个单一的模型对象相关联 :
public class Job
{
public int Id { get; set; }
public int Company1Id { get; set; }
public int Company2Id { get; set; } // References CompanyId
public int Company3Id { get; set; } // References CompanyId
...
public virtual Company Company1Info { get; set; }
public virtual Company Company2Info { get; set; }
public virtual Company Company3Info { get; set; }
}
public class Company
{
public int CompanyId { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
任务图类的关系
this.HasRequired(t => t.Company1Info)
.WithMany()
.HasForeignKey(d => d.Company1Id);
this.HasRequired(t => t .Company2Info)
.WithMany()
.HasForeignKey(d => d.Company2Id);
this.HasRequired(t => t.Company3Info)
.WithMany()
.HasForeignKey(d => d.Company3Id);
获取数据的方法
public Job GetById(int id)
{
return _dbContext.Set<Job>()
.Include(t => t.Company1Info)
.Include(t => t.Company2Info)
.Include(t => t.Company3Info)
.First(x => x.Id == id);
}
当我运行应用程序时, Company2Info 和 Company3Info 无效。 我试图在上下文中为每家公司设置一个新的 DbSet 实例, 但我得到了一个 < code> unsupportedexplication code > 。
谢谢!
更新:这是对相同问题的答案,但对我而言,