通过使用三列连接,我创建了两个相互关联的实体,两个实体都是对数据库的视图。对于Travel
我有Id
,FromCityId
和ToCityId
,TravelCost
我有TravelId
,FromCityId
和{ {1}}。流畅的映射如下
ToCityId
上课:
TravelEntityConfiguration
和旅行费用
HasMany(x => x.Amounts)
.WithRequired()
.HasForeignKey(x => new
{
x.TravelId,
x.FromCityId,
x.ToCityId
});
当我查询这些实体并包含导航属性
时TravelCostEntityConfiguration
HasRequired(x => x.Travel)
.WithMany()
.HasForeignKey(x => new
{
x.TravelId,
x.FromCityId,
x.ToCityId
});
对于每个结果,仅加载第一个子集合。我检查了生成的查询,即使查询是正确的,它返回所有子项的完整集合并且连接正确。我在这里缺少什么暂时需要一些帮助。基本上我怀疑映射不正确但尚未发现问题。
答案 0 :(得分:1)
谢谢你https://codex.wordpress.org/Child_Themes,你解决了我的问题。问题在于TravelCost视图的Id在运行中生成并且最终相同,因此EF认为它是相同的记录,映射完全正确。