实体框架Power Tools Beta 4中的错误

时间:2014-08-04 15:05:37

标签: entity-framework ef-power-tools

如果这不是提交EF Power Tools错误报告的正确位置,请与我们联系。

我认为标记为BETA的版本仍然是最新和最好的版本。我在EF 6.1.1中使用它

使用复合主键的逆向工程表中存在错误。 我的数据库有一个表格,它的PK定义为:

(     [TableId] ASC,     [AppDefID] ASC )

请注意,TableId是第一列,AppDefId是第二列。

但生成的代码将PK定义为:

this.HasKey(t => new {t.AppDefID,t.TableId});

请注意,PK定义中列的顺序与数据库中的列顺序不匹配。当列的类型不同,而另一个实体尝试设置与该实体的关系时,它将生成模型验证异常:

DataElementRule_RuleAppEntity_Target_DataElementRule_RuleAppEntity_Source ::参照约束的从属角色中的所有属性的类型必须与“主体角色”中的相应属性类型相同。 实体'DataElementRule'上的属性'TableId'的类型与引用约束'DataElementRule_RuleAppEntity'中实体'RuleAppEntity'上的属性'AppDefID'的类型不匹配。

解决方法是手动更正HasKey()参数的顺序以匹配数据库的顺序。

0 个答案:

没有答案