Entity Framework的一个坑
Posted Energy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Entity Framework的一个坑相关的知识,希望对你有一定的参考价值。
由于业务需要写了一个批量数据导入工具。中间踩了一个坑
问:
1、 SaveChange 实体A 发生pk冲突,异常了。
2、记录日志
3、不让退出程序,继续处理下一个实体
4、Add新的实体B
5、再次调用SaveChange
6、问,这次SaveChange ,EF是保存实体A,还是实体B?
根据目前的结果看,EF还是会尝试保存实体A。
根本原因是实体A的状态还是Added。
必须在异常处理中,把实体A的状态修改为Detached ,才能摆脱异常魔咒。
以上是关于Entity Framework的一个坑的主要内容,如果未能解决你的问题,请参考以下文章
Entity Framework 学习系列 - 认识理解Entity Framework
Entity Framework 数据部分更新之Attach/Detach(转)
Entity Framework Code-First(23):Entity Framework Power Tools