我正在尝试获取实体的复杂属性,如下所示:
实体来自
typeMapper.GetItemsToGenerate<EntityType>(itemCollection)
我正在获取其他属性,如下所示:
var propertiesWithDefaultValues = typeMapper.GetPropertiesWithDefaultValues(entity);
var collectionNavigationProperties = typeMapper.GetCollectionNavigationProperties(entity);
var complexProperties = typeMapper.GetComplexProperties(entity);
var navigationProperties = typeMapper.GetNavigationProperties(entity);
var simpleProperties = typeMapper.GetSimpleProperties(entity);
所以在这个复杂的属性应该从:
public IEnumerable<EdmProperty> GetComplexProperties(EntityType type)
{
return type.Properties.Where(p => p.TypeUsage.EdmType is ComplexType && p.DeclaringType == type);
}
但他们都没有被退回。
但是我确实从以下位置获取导航属性:
public IEnumerable<NavigationProperty> GetNavigationProperties(EntityType type)
{
return type.NavigationProperties.Where(np => np.DeclaringType == type);
}
但导航属性也包含集合属性。
我在这里做错什么了吗?