嗨,我发现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的请求。一切都很好。
但是,如果我通过关系并试图加载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)。对于其他关系,它是空的。
我也不知道为什么。
发布于 2010-06-25 05:27:55
你能确保你的实体有一个有意义的主键吗?I had a similar problem in a view,只返回了数据库中的第一个记录集。
https://stackoverflow.com/questions/3113829
复制相似问题