我已经通过
这很好用,该属性出现在“属性”对话框中,并保存在 EDMX 文件中。
现在我想在 DDL 生成过程中使用该属性。我已经编辑了 T4 模板文件SSDLToSQL10.tt
(位于C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGen
)。
但是,自定义属性似乎没有出现在元数据树中的任何位置。网站(德文)
告诉我扩展属性应该出现在EntityType.MetadataProperties
集合中,但是这个集合只包含以下成员:
KeyMembers Members Name NamespaceName Abstract BaseType DataSpace MetadataProperties
这些都不是我的自定义属性。
我错过了什么吗?如何访问IEntityDesignerExtendedProperty
T4 代码生成模板中的 ' 值?
编辑:这是具有自定义属性的 EDMX 部分:
<edmx:ConceptualModels>
<Schema ...>
....
<EntityType Name="Entity1">
<Key>
<PropertyRef Name="Id" />
</Key>
<Property Type="Guid" Name="Id" Nullable="false" annotation:StoreGeneratedPattern="None" />
<Property Type="String" Name="Name" Nullable="false" />
<a:MyNewProperty xmlns:a="http://schemas.tempuri.com/MyNewProperty">True</a:MyNewProperty>
</EntityType>
我想我必须以某种方式将该自定义属性从CSDL映射到SSDL。