您好我发现了EF的问题。
这是我的Model
我装了资产:
POCO.Asset asset = _context.Assets.Where(a => a.UID == assetUid).First();
然后我浏览所有属性
foreach (POCO.Property p in asset.Properties) /* request to db */ { /*...*/ }
类:
foreach (POCO.Category p in > asset.Categories) /* request to db */ { /*...*/ }
相关资产:
foreach (POCO.Relation relatedAsset in entityAsset.Relations) /* request to db */ { /*...*/ }
所有导航属性都可以正常工作。我可以通过个人资料看到db的请求。一切都很好。
但如果我通过Relations并尝试加载RelatedAssetProperties,那么我就遇到了问题。 基本上我的资产有4个关系,每个关系有2-3个属性。
foreach (POCO.Relation relatedAsset in entityAsset.Relations) /* request to db */
{
/**/
ICollection<RelatedAssetProperty> rap = relatedAsset.RelatedAssetProperties;
foreach (RelatedAssetProperty relatedAssetProperty in rap) /* request to db */
{
/**/
}
}
在RelatedAssetProperties执行期间,我看到所有4个db请求获取属性。我在SQL管理器中运行所有请求,每个请求返回数据。
但由于某些原因,只有第一关系说唱rap有项目(RelatedAssetProperty)。对于其他关系,它是空的。
我不知道为什么。