代码之家  ›  专栏  ›  技术社区  ›  citronas

如何在Entity Framework 4 Entitydesigner中正确设置两个对象之间的关联?

  •  54
  • citronas  · 技术社区  · 14 年前

    对于一个新项目,我尝试先创建我的业务类,然后再创建真正的数据库表。因此,我使用的是实体框架4设计器。“创建了一个新的”ADO.Net“实体数据模型”文件,扩展名为.edmx。

    我创建了两个实体:
    alt text

    我想在产品组之间添加1到nc关系。如果我先创建MSSQL数据库,我会在表Product中添加一列IDGroup并引用它产品.IDGroup至组.IDGroup. 据我所知,如果向产品实体添加名为IDGroup的新属性,则无法在设计器中添加此类关联

    以下是我添加映射的方式: alt text


    alt text

    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.
    

    8 回复  |  直到 14 年前
        1
  •  85
  •   Jason Jarrett    14 年前

    我可以双击设计器中的行(关联行)。把房子填好,我就把它修好了。

    不能说这是正确的答案-只是摸索和似乎得到的结果。

        2
  •  9
  •   Ben    10 年前

    从模型生成数据库 . 据我所知,这必须在对Database.edmx进行每次更改后运行。

        3
  •  6
  •   Steve Davies    14 年前

    然后编译代码,我可以使用

    史蒂夫

        4
  •  3
  •   Jon Dewees    14 年前

    我也有同样的错误,“添加关联”对话框没有帮助我设置的一点配置是“引用约束”属性。一旦我配置,我重建了解决方案,一切都很酷。

        5
  •  0
  •   jburka    11 年前

    当我从模型图中删除了一个关联,但该关联仍保留在.edmx的底层XML中时,出现了这个错误。我发现唯一能解决这个问题的方法就是手工编辑edmx,删除对有问题的关联的引用。

        6
  •  0
  •   M Tauqeer    9 年前

    您只需从edmx文件中删除所有表。现在右键单击edmx文件并选择updateformdatabase选项。更新Ef,问题将得到解决。

        7
  •  0
  •   Dinch    8 年前

    我使用数据库优先的方法,遇到了同样的问题。

    造成 问题出在我的同事从数据库中删除了一个表,忘记了更新模型。

    解决方案 然后从图中删除它,因为如果从数据库中删除了表,EF不会删除实体。

    构建并检查错误列表窗口(Ctrl+E,W)。

        8
  •  0
  •   Xipooo    8 年前