EF Fluent Mapping 未使用 Include 加载所有子级

EF Fluent Mapping not loading all children with eager loading using Include

我创建了两个实体,它们通过使用三列连接而彼此相关,它们都是数据库的视图。对于 Travel,我有 IdFromCityIdToCityId,对于 TravelCost,我有 TravelIdFromCityIdToCityId。流畅的映射如下

TravelEntityConfiguration class:

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
    });

当我查询这些实体并包含导航时 属性

context.Set<Table>().Include(x => x.TravelCost)....

对于每个结果,仅加载子集合中的第一个。我检查了生成的查询,即使查询是正确的 returns 包含所有子项的完整集合并且连接是正确的。我在这里错过了什么。需要一些帮助暂时没有线索。基本上我怀疑映射不正确,但还没有发现问题。

谢谢Asad,你解决了我的问题。问题出在 TravelCost 视图的 Id 上,它是动态生成的,最终是相同的,所以 EF 认为它是同一条记录,映射是完全正确的。