错误3027:没有为以下EntitySet / AssociationSet指定映射

时间:2015-06-17 05:28:40

标签: sql-server entity-framework-6

我正在使用 EntityFramework 6 ,我在数据库中插入表后使用了来自Update Model的{​​{1}},我得到了上述错误。请说明如何解决这个问题。< / p>

8 个答案:

答案 0 :(得分:7)

在记事本上打开edmx文件,找到取消映射关联并将其删除。它 应该管用。

答案 1 :(得分:2)

我收到了同样的错误,发现我添加的表中的外键与引用表中的外键不同。

答案 2 :(得分:2)

不太令人满意,但我通过删除并重新添加模型来解决它:

  1. 右键单击edmx-diagram并选择“模型浏览器”
  2. 删除提供问题的实体类型
  3. 保存(只是为了确保重新生成文件)
  4. 再次从数据库表添加模型并保存。
  5. 警告随后消失了。

答案 3 :(得分:1)

这是我的解决方法:

  1. 删除edmx文件中图表中的所有实体。
  2. 如果此edmx文件是解决方案中项目的一部分,则重建项目。
  3. 重建您的解决方案。

我不确定为什么会发生这种情况,但就我而言,当我更新数据库时,它始终会触发此错误,而我没有更新edmx文件。

答案 4 :(得分:1)

尝试从EDMX中删除实体(表),然后运行update再次添加该表。

答案 5 :(得分:0)

有时在更新表时实体框架中存在问题,然后其他对象(如SP)会自动刷新。请确保在您的情况下没有发生这种情况。您可以尝试的其他方法 - 将model.tt文件替换为新文件,以实现此目的,

  1. 右键单击edmx文件中的任意位置。
  2. 选择“添加代码生成项”。
  3. 选择“EF 6.x EntityObject Generator”。
  4. 将名称从“Model2.tt”更改为“Model1.tt”(如果您的旧模型文件名是model1.tt)。
  5. 点击添加。

答案 6 :(得分:0)

删除然后将表重新添加到EDMX以修复映射问题。

答案 7 :(得分:0)

如果您尝试了很多次从数据库更新模型并且发生冲突的更改,则可能会发生。 如果您使用的是git,请放弃edmx文件中的更改,或回滚到以前的版本。 然后右键单击Visual Studio中的edmx文件>从数据库更新模型 选择要包括的新表/视图,否则将刷新>完成