实体框架上下文未保存

本文关键字:保存 上下文 框架 实体 | 更新日期: 2023-09-27 18:33:52

我对我的 DbContext 有一些操作用于保存。

我有两个实体 - 材料和颜色。实体具有多对多的关系。

我尝试这样做:

var color = context
 .Colors
 .Include("Materials")
 .Where(g => g.Id == (colorId))
 .FirstOrDefault();
var mater = context
 .Materials
 .Include("Colors")
 .SingleOrDefault(c => c.Name == material.Name);
mater.Colors.Add(color);
context.SaveChanges();

当程序尝试运行context.SaveChanges()时,它会抛出异常DbUpdateException

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

如何解决?

实体框架上下文未保存

EF 映射的每个表都必须具有 PK。如果它没有 PK,它将被映射为只读视图。必须转到数据库,并在MaterialColors将两个 FK 标记为复合 PK。 然后更新模型。