0

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

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

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

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

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

桑吉。

4

1 回答 1

0

我发现它System.Data.Metadata.Edm.EdmProperty没有这个属性,它需要从System.Data.Metadata.Edm.EntityType实际属性中引用KeyMembers

我对 T4 进行了更改以WriteProperty接受实体对象,现在它可以作为美。

于 2012-06-12T10:40:15.833 回答