实体框架上下文未保存
本文关键字:保存 上下文 框架 实体 | 更新日期: 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。 然后更新模型。