实体框架 - 版本属性名称

时间:2013-05-21 13:42:46

标签: c# entity-framework-4 entity

我正在寻找在运行时通过ObjectContext获取并发固定属性名称,但我找不到任何能够提供此信息的属性或方法。

是否有某种方法可以使用“concurrencyMode = fixed”设置实体属性名称?

1 个答案:

答案 0 :(得分:0)

您可以通过查询概念模型获取这些属性的列表:

context.MetadataWorkspace.GetItemCollection(DataSpace.CSpace)
    .OfType<EntityType>()
    .SelectMany(entityType => entityType.Properties)
    .OfType<EdmProperty>()
    .Where(ep => ep.TypeUsage.Facets.Any(f => f.Name == "ConcurrencyMode" 
            && (EdmConcurrencyMode)f.Value == EdmConcurrencyMode.Fixed))
    .Select(ep => new 
                    { 
                        Type = ep.DeclaringType.Name,
                        Property = ep.Name,
                        DateType = ep.TypeUsage.EdmType.Name 
                    })