2013-05-21 153 views
1

我正在尋找通過ObjectContext在運行時獲取併發固定屬性名稱,但我沒有找到任何屬性或方法能夠給我這些信息。實體框架 - 版本屬性名稱

是否有某種方式來獲取設置爲「concurrencyMode = fixed」的實體屬性名稱?

+0

我覺得這個線程包含了回答你的問題: http://stackoverflow.com/questions/12732161/how-to-automate-setting-concurrencymode-fixed-on-all-rowversion-columns – imjosh

回答

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 
        }) 
+0

非常感謝。 – bit