【问题标题】:Entity Framework 4.3 Modify T4 Template for generating classesEntity Framework 4.3 修改 T4 模板生成类
【发布时间】:2012-06-11 13:13:42
【问题描述】:

我有一个使用完整主键生成的数据库优先模型。数据库优先模型工作正常。但是现在我已经升级了我的 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.

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

如果有人能帮我解决这个问题,我不胜感激

桑杰。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多