实体框架4.3修改T4模板以生成类

时间:2012-06-11 13:13:43

标签: poco t4 database-migration composite-key entity-framework-4.3

我有一个使用完整主键生成的数据库优先模型。数据库第一模型工作正常。但是现在我升级了我的Entity Framework 4.3。我修改了EF附带的标准T4模板。

现在,当我对项目使用Add-Migration initial时,它抱怨我的实体没有定义主键。这不是真的(或者在某种程度上)......看起来更深层我有复合键,EF希望我在所有关键元素上定义[Key, Column(0)]

System.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'SupplierWarehouses' is based on type 'SupplierWarehouses' that has no keys defined.

我面临的问题是我试图修改T4模板(DbContext)的WriteProperty方法,Entity Key对象上似乎没有System.Data.Metadata.Edm.EdmProperty属性。现在,此属性从Visual Studio模型编辑器中显示,因此理论应该存在。

感谢有人帮我解决这个问题

Sanj。

1 个答案:

答案 0 :(得分:0)

我认为System.Data.Metadata.Edm.EdmProperty没有此属性,需要从System.Data.Metadata.Edm.EntityType引用实际属性为KeyMembers

我将更改改为T4 WriteProperty以接受实体对象,现在它可以作为美容使用。