在EF6中添加多对多视图

时间:2014-03-05 19:35:53

标签: sql-server entity-framework-6

我有一个EDMX文件,它包含从SQL Server数据库映射的表和视图。我正在尝试将名为CourseCompany的视图添加到EDMX文件中,该文件用作两个其他视图之间的多对多连接。

通过查看使用表的另一个多对多关联作为示例,这些是我添加的关联的非默认值属性:

  • 协会集名称:CourseCompany
  • End1 Multiplicity:*(课程集合)
  • End1导航属性:公司
  • End2 Multiplicity:*(公司收藏)
  • 结束2导航属性:课程
  • 名称:CourseCompany

但这样做会产生这个编译错误:

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

我确保这种关联的视图在EDMX中正确定义了它们的主键。在EDMX中添加此关联需要做什么?

2 个答案:

答案 0 :(得分:1)

请按照以下步骤解决此问题:

  1. 通过“从数据库更新模型”工具添加多对多视图。
  2. 编辑新添加的实体,以便两个字段都将实体密钥设置为true。
  3. 将关联添加到EDMX并按照我在上面的问题中所述进行配置。
  4. 单击Association链接并转到Mapping Details选项卡。
  5. 在地图下拉列表中选择视图名称,并设置字段映射。
  6. 删除在步骤1中添加的实体。

答案 1 :(得分:0)

这种错误通常是由于在更改设计后未运行“从模型生成数据库”命令(可从EDMX设计器的上下文菜单访问)而导致的。

运行该工具(如果有效,它将更新SQL生成脚本)应该会导致问题消失。

相关问题