实体框架6错误:无法在映射文件中找到EntityType'EntityName'的InsertFunctionMapping

时间:2016-04-28 17:56:36

标签: entity-framework-6

如果这是一个愚蠢的问题,请耐心等待我。

一些背景故事设置

在我的生活中,我无法可靠地更新我的EF模型(数据库优先)。

首先,我无法实现我的删除操作,结果发现我错过了我的主键。很公平。我在数据库上添加了密钥,并从数据库运行了Update Model。当然,这没有做任何事情。我乱了几个小时,最后让它随机工作。在那段时间里,我认为可能切换到存储过程可以解决问题(它没有),所以我删除了它。

我的删除功能正常后,我添加了删除程序以进行一些测试,并最终将其删除。此时我开始实现编辑和创建功能。删除程序后删除仍然有效。

问题

现在,我在尝试创建记录时收到我在标题中发布的错误消息。从我读过的内容来看,EF实体在使用存储过程时“全有或全无”。如果您实施删除,您必须实施插入和更新。但是,我已将其删除,因此我不应再要求实施这些内容了。

这就是我所做的:

  1. 我已删除所有Stored Procedure Mapping
  2. 我已从模型中删除了删除存储过程(以及在XML中提及它)
  3. 我跑了Update Model from Database...
  4. 我在Run Custom ToolEntity.Context.tt模板文件上使用了Entity.tt
  5. 我已从.edmx文件中删除了该实体,清理了项目,重建了项目,然后运行了Update Model from Database...
  6. 我在XML中搜索了与FunctionMapping
  7. 相关的任何文字

    保持EF最新的正确步骤是什么,所以这样的事情不会发生?

1 个答案:

答案 0 :(得分:0)

看起来上下文完全被淹没了。我删除了整个事情,并从头开始使用新的上下文和我们添加的小模板自定义(其他构造函数,实体集合名称等)。

这解决了它的错误。