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 学习笔记

Entity Framework 数据部分更新之Attach/Detach(转)

Entity Framework Code-First(23):Entity Framework Power Tools

Entity Framework Code First 迁移 Migrations

Entity Framework 6 开发系列 目录