映射片段实体框架错误

时间:2014-10-23 02:54:34

标签: asp.net-mvc entity-framework asp.net-mvc-4 ef-database-first database-first

我正在开发一个ASP.NET MVC4应用程序(数据库第一种方法),现在我从数据库更新了模型,然后我得到了这个错误:

  

从第1106行开始映射片段的问题:表Trn_BenchProficiency的键的潜在运行时违规(Trn_BenchProficiency.BenchNumber):列(Trn_BenchProficiency.BenchNumber)在概念方面被映射到EntitySet Trn_BenchProficiency的属性(Trn_BenchProficiency.BenchNumber)但是它们没有形成EntitySet的关键属性(Trn_BenchProficiency.AssessedDate,Trn_BenchProficiency.BenchNumber,Trn_BenchProficiency.Proficiency,Trn_BenchProficiency.SkillAllignmentID,Trn_BenchProficiency.SkillID)。

当我双击错误视觉工作室时显示:

enter image description here

请帮助我,这有什么问题?我真的找不到错误。

2 个答案:

答案 0 :(得分:4)

尝试删除edmx图表中的表格并更新图表,然后重新添加表格。保存并重建您的解决方案。

当我改变表格的关系时,我总是遇到这种情况。

答案 1 :(得分:2)

实体框架设计者已将您的Trn_BenchProficiency.BenchNumber标识为主列。对于Trn_BenchProficiency.BenchNumber,将该设置更改为false。

按照以下步骤操作:

转到.edmx文件,右键单击背景并选择Mapping Details。

单击需要编辑映射的表格,详细信息应显示在新的“映射详细信息”窗口中。

按F4打开“属性”窗口。

单击“映射详细信息”中的“值/属性”以更改显示的“属性”,然后从“属性”窗口中可以将“实体键”值设置为“False”。

希望这有帮助!