我正在尝试获取实体的复杂属性,如下所示:
实体来自
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);
}
但导航属性还包含集合属性。
我在这里做错了什么?