使用 T4 生成 Poco 类,忽略 StoreGeneratedPattern 属性

Mus*_*gdy 4 t4 entity-framework poco edmx entity-framework-4.1

我在 vs 2010 中使用 Poco & DbContext T4 模板为我的数据访问生成 pocos,我已经修改了它以匹配我的数据访问层所需的一些语法。

我有一个问题,edmx 文件中的标识列 (StoreGeneratedPattern = Identity) 不会影响 T4 生成过程,这是我的代码:

var identity = edmProperty.TypeUsage.Facets.Where(f => f.Name == "StoreGeneratedPattern").FirstOrDefault();
        if (identity != null && ((System.Data.Metadata.Edm.StoreGeneratedPattern)identity.Value) == System.Data.Metadata.Edm.StoreGeneratedPattern.Identity)
                    isIdentity = true;
Run Code Online (Sandbox Code Playgroud)

这总是如此false,有什么原因吗?

Lad*_*nka 5

StoreGeneratedPattern不存储在方面,而是在MetadataProperties尝试这样的事情:

var identity = edmProperty.MetadataProperties
                          .Where(m => m.Name == "http://schemas.microsoft.com/ado/2009/02/edm/annotation:StoreGeneratedPattern")
                          .FirstOrDefault();

bool isIdentity = identity != null && identity.Value == System.Data.Metadata.Edm.StoreGeneratedPattern.Identity.ToString();
Run Code Online (Sandbox Code Playgroud)