无法更新EntitySet(无插入功能)

时间:2013-08-01 15:10:47

标签: c#-4.0 entity-framework-5

我的数据库中有这些表格:

  • 视频(IDVideo,名称......)
  • 剧集(IDEpisode,Name ...)
  • 版本(IDVersion,Name,....)
  • VideosVersions(IDVideo,IDEpisode,IDVersion)

版本可以用于视频或剧集,两种情况下的关系均为N:N,视频可以有多个版本,版本可以分配给许多视频或剧集。

在我的edmx模型中有四个表。

例如,当我尝试为视频分配新版本时,我使用以下代码:

VideosVersions myVideoVersion = new VideosVersions();
myVideoVersion.IDVideo = paramVideo.IDVideo;
myVideoVersion.IDVersion = paramVersion.IDVersion;

myContext.VideosVersions.Add(myVideosVersions);
myContext.SaveChanges();

但我得到以下例外:

Unable to update the EntitySet 'VideosVersions' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.

为什么?

感谢。

编辑:在我的edmx模型实体中,三个属性有一个键,所以如果我没有错,这意味着实体的PK是三个字段的组合,是否正确?

1 个答案:

答案 0 :(得分:2)

映射器可能无法确定哪些列应该是VideosVersions的主键。这意味着它不知道如何插入新记录并仅提供查询方法。确保在表上正确定义了主键,然后更新映射。