我收到了错误
找不到InsertFunctionMapping 对于映射中的EntityType'xxx' 文件。
这是公平的,因为它是真的。但那是因为我很高兴EF为我做插入。我只是想覆盖删除功能。
我认为这是EF4的改进之一?或者只是它会建立良好但仍然在使用未映射的函数时哭泣?或者有可能,但我只是遗漏了什么?
答案 0 :(得分:12)
答案 1 :(得分:1)
我有相同或类似的问题。我想只覆盖删除功能,但在EF4中不能覆盖插入和更新功能。 在我的情况下,我需要执行此操作以进行删除:
update table set deleted = 1 where id = @id
我通过这种方式解决了这个问题:
在调用方法context.SaveChanges(true)
之前,我运行此代码
foreach (ObjectStateEntry entry in context.ObjectStateManager.GetObjectStateEntries(EntityState.Deleted))
{
entry.ChangeState(EntityState.Modified);
entry.Entity.GetType().GetProperty("deleted").SetValue(entry.Entity, true, null);
}
我是EF的初学者。现在我只是在寻找如何解决EF的一些问题,在开始基于EF开发应用程序之前我必须解决这个问题。 但现在看起来这个解决方案应该可行。我希望。