无法获得复杂的属性

时间:2013-09-01 17:15:15

标签: c# entity-framework t4

我正在尝试获取实体的复杂属性,如下所示:

实体来自

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

但导航属性还包含集合属性。

我在这里做错了什么?

0 个答案:

没有答案