如果这是一个愚蠢的问题,请耐心等待我。
一些背景故事设置
在我的生活中,我无法可靠地更新我的EF模型(数据库优先)。
首先,我无法实现我的删除操作,结果发现我错过了我的主键。很公平。我在数据库上添加了密钥,并从数据库运行了Update Model。当然,这没有做任何事情。我乱了几个小时,最后让它随机工作。在那段时间里,我认为可能切换到存储过程可以解决问题(它没有),所以我删除了它。
我的删除功能正常后,我添加了删除程序以进行一些测试,并最终将其删除。此时我开始实现编辑和创建功能。删除程序后删除仍然有效。
问题
现在,我在尝试创建记录时收到我在标题中发布的错误消息。从我读过的内容来看,EF实体在使用存储过程时“全有或全无”。如果您实施删除,您必须实施插入和更新。但是,我已将其删除,因此我不应再要求实施这些内容了。
这就是我所做的:
Stored Procedure Mapping
Update Model from Database...
Run Custom Tool
和Entity.Context.tt
模板文件上使用了Entity.tt
Update Model from Database...
FunctionMapping
保持EF最新的正确步骤是什么,所以这样的事情不会发生?
答案 0 :(得分:0)
看起来上下文完全被淹没了。我删除了整个事情,并从头开始使用新的上下文和我们添加的小模板自定义(其他构造函数,实体集合名称等)。
这解决了它的错误。