我正在开发一个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)。
当我双击错误视觉工作室时显示:
请帮助我,这有什么问题?我真的找不到错误。
答案 0 :(得分:4)
尝试删除edmx图表中的表格并更新图表,然后重新添加表格。保存并重建您的解决方案。
当我改变表格的关系时,我总是遇到这种情况。
答案 1 :(得分:2)
实体框架设计者已将您的Trn_BenchProficiency.BenchNumber标识为主列。对于Trn_BenchProficiency.BenchNumber,将该设置更改为false。
按照以下步骤操作:
转到.edmx文件,右键单击背景并选择Mapping Details。
单击需要编辑映射的表格,详细信息应显示在新的“映射详细信息”窗口中。
按F4打开“属性”窗口。
单击“映射详细信息”中的“值/属性”以更改显示的“属性”,然后从“属性”窗口中可以将“实体键”值设置为“False”。
希望这有帮助!