我正在使用C#在ASP.NET MVC 2中创建一个站点。我设计了一个数据库,其中包含许多具有多对多关系的表,类似于以下内容:
GrandParent - 多对多 - 父母
和
家长 - 多对多 - 孩子
我使用实体框架来创建所有实体类,现在正在处理添加GrandParent的存储库类中的函数。
尝试创建Child,将其添加到Parent,然后将父项添加到GrandParent,然后使用命令将GrandParent添加到数据库
entities.GrandParents.AddObject(newGrandParent);
entities.SaveChanges();
它在SaveChanges()
行崩溃并出现错误:
无法更新EntitySet 'JunctionPartentsChilds'因为它 有一个DefiningQuery,没有 元素存在于 ModificationFunctionMapping元素到 支持当前的运作。
编辑: 我可以通过删除自动生成的代码中的所有DefiningQuery元素来修复该错误,现在我在同一行上出现错误,应该更具描述性,但我仍然处于亏损状态。
错误是:Invalid object name 'JunctionPartentsChilds'
并且它抛出了UpdatingException。
任何想法出了什么问题?由于存在多对多的关系,您是否必须按特殊顺序添加到数据库中?
谢谢!
答案 0 :(得分:1)
如果您复制/粘贴此错误: 无效的对象名称'JunctionPartentsChilds'
问题可能是联结表名称中“父母”的拼写错误
答案 1 :(得分:0)
您的描述看起来像是一对多的关系。但无论如何,请在此处发布您的代码片段,以查看您的语句中是否存在错误。 再见托马斯 附:这是一种很好的格式化代码的方法
This is a line of code
如果你用101
点击按钮答案 2 :(得分:0)
确保将GrandParents表作为主键(标识)并重建模型