对于一个新项目,我正在尝试先创建我的业务类,然后再创建真正的数据库表。因此,我使用Entity Framework4设计器。创建了一个扩展名为.edmx的新"ADO.Net实体数据模型“文件。
我创建了两个实体:
我想在产品->组之间添加一个1到nc的关系。如果我首先创建了MSSQL数据库,我会在表Product中添加一个列IDGroup,并将Product.IDGroup引用到Group.IDGroup。就我所见,如果向产品实体添加一个名为IDGroup的新属性,则无法在设计器中添加此类关联
下面是我添加映射的方式:
这会导致:
现在是关于这个问题的部分:如果我将现有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.
有种感觉告诉我,我做错了这一切,这只是最基本的东西。我怎么才能做得对呢?
发布于 2010-09-14 02:55:09
我自己也遇到了这个问题&当我用Googled搜索它的时候(我回答了你的问题)。
我可以在设计器中双击这条线(关联线)。填写那里的属性,我就让它正常工作了。
我还不得不关闭VS并重新打开它,以获得一些报告的错误。
不能说这是正确的答案--只是笨手笨脚地摸索,似乎得到了结果。
发布于 2011-05-09 22:50:44
当我在安装了EF4.1的VS2010 SP1下使用ADO.Net DBContext生成器从数据库生成模型时,我得到了这个错误。我使用的数据库在主键和外键字段之间没有任何引用完整性。
解决方案是双击关联线,这将打开Referential Contstrainst对话框。然后,我将Principal字段设置为具有主键的表,将Dependent字段设置为具有外键的表,在下拉列表中设置要匹配的外键名称,然后单击OK。
然后编译代码,我可以使用var foreign =DBContext.Primary.First()、.Foreign等跨实体工作
史蒂夫
发布于 2011-05-05 09:14:02
我也犯了同样的错误,“添加关联”对话框没有帮助我设置的一个配置是“引用约束”属性。一旦我进行了配置,我重新构建了解决方案,一切都很酷。
https://stackoverflow.com/questions/3700637
复制相似问题