0

我的数据库中有这个表:

  • 视频(IDVideo,名称...)
  • 剧集(IDEepisode,名称...)
  • 版本(IDVersion,名称,....)
  • 视频版本(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 是三个字段的组合,对吗?

4

1 回答 1

4

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

于 2013-08-01T15:14:11.923 回答