我的数据库中有这些表格:
版本可以用于视频或剧集,两种情况下的关系均为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是三个字段的组合,是否正确?答案 0 :(得分:2)
映射器可能无法确定哪些列应该是VideosVersions的主键。这意味着它不知道如何插入新记录并仅提供查询方法。确保在表上正确定义了主键,然后更新映射。