如何在Entity Framework 4 Entitydesigner中正确设置两个对象之间的关联?
对于一个新项目,我试图先创build我的业务类,然后创build真正的数据库表。 因此我正在使用entity framework4devise器。 创build了一个新的“ADO.Net实体数据模型”文件,扩展名为.edmx。
我创build了两个实体:
我想在Product – > Group之间添加一个1到nc的关系。 如果我已经创build了MSSQL数据库,我会添加一个列IDGroup到表产品和引用Product.IDGroup到Group.IDGroup。 据我所看到的,如果我将一个名为IDGroup的新属性添加到Product Entity中,我不能在devise器中添加这样的关联
这是我如何添加映射:
其结果是:
现在是这个问题的一部分:如果我从现有的MSSQL数据库添加两个表到edmx文件,我会得到编译错误:
Error 3027: No mapping specified for the following EntitySet/AssociationSet - GroupSet, ProductSet
这个错误意味着什么,我该怎么办才能解决这个问题? 如果我删除这两个表格,我会收到警告:
Error 2062: No mapping specified for instances of the EntitySet and AssociationSet in the EntityContainer myContainer.
有些东西告诉我,我做这一切都是错误的,这只是基本的东西。 我怎样才能做到这一点?
我刚刚碰到这个,当我谷歌search(我打你的问题)。
我可以在devise器中双击线(关联线)。 填写在那里的属性,我得到它的工作。
我也不得不closuresVS,并重新打开它,以获得一些错误报告消失…
不能说这是正确的答案 – 只是摸索,似乎得到的结果。
可能很容易错过的东西是从模型生成数据库 。 从我所了解的情况来看,在对数据库.edmx所做的每一项更改之后,都必须执行此操作。
这个简单的错误发生在我身上,导致了几分钟的挫折=)
当我使用安装了EF4.1的VS2010 SP1下的ADO.Net DBContext生成器从数据库生成模型时,出现此错误。 我使用的数据库在主键字段和外键字段之间没有任何参照完整性。
解决方法是双击打开参照连续对话框的关联行。 然后,我将Principal字段设置为带有主键的表,具有外键的Dependent作为表,在下拉列表中设置外键名称匹配并单击确定。
然后编译代码,我可以使用var foreign = DBContext.Primary.First()来处理实体。
史蒂夫
我有相同的错误,并且“添加关联”对话框没有帮助我设置的一点configuration是“引用约束”属性。 一旦我configuration,我重build了解决scheme,一切都很酷。
当我从模型图中删除一个关联时,出现了这个错误,但是关联保留在.edmx中的底层XML中。 他们只是我发现解决这个问题的方法是手动编辑edmx以删除对违规关联的引用。
您只需要从edmx文件中删除所有表格。 现在右键单击edmx文件并select更新表单数据库选项。 更新Ef,问题将得到解决。
我正在使用数据库第一种方法,遇到同样的问题。
是什么原因造成我的同事的问题是从数据库中删除了一个表,忘记更新模型。
我的解决scheme是从图中find已删除的实体。 (模型浏览器可能是有用的。)然后从图中删除它,因为如果您从数据库中删除表,EF不会删除实体。
生成并检查错误列表窗口(Ctrl + E,W)。
完成。
我还发现,在对entity framework上下文和模型进行更改后重新构build项目有时可以解决这些错误,特别是如果entity framework上下文位于不同的项目中。
- 在asp.net mvc中对控制器进行简单的Ajax调用
- 使用ELMAHloggingWCF服务exception
- 在不同的控制器动作方法之间传递数据
- LINQ:使用Lambdaexpression式获取CheckBoxList的所有选定值
- WebForms UnobtrusiveValidationMode需要一个ScriptResourceMapping作为'jquery'。 请添加一个名为jquery的ScriptResourceMapping(区分大小写)
- 如何在.NET MVC 2中实现正确的HTTPerror handling?
- 从ASP.Net MVC应用程序中缩小HTML输出
- .NET中的文件扩展名和MIMEtypes
- 用EQATEC Profiler分析ASP.NET网站