我有一个使用完整主键生成的数据库优先模型。数据库第一模型工作正常。但是现在我升级了我的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。
答案 0 :(得分:0)
我认为System.Data.Metadata.Edm.EdmProperty
没有此属性,需要从System.Data.Metadata.Edm.EntityType
引用实际属性为KeyMembers
。
我将更改改为T4 WriteProperty
以接受实体对象,现在它可以作为美容使用。