在使用Entity Framework时,删除某个表的一条记录然后又增加相同记录时,报错
ls176 2010-01-24 06:44:02 例如:User 表;主键 ID
test.TestContext ct = new test.TestContext();
var r = ct.User.Where( p => p.ID == "test" ).First();
ct.DeleteObject( r );
test.User user = new test.User();
user.ID = "test";
ct.AddToUser( user );
ct.SaveChanges();
在保存时,我查了下执行顺序,竟然是先执行Add然后再执行Delete,这样就导致Add时主键冲突。
按道理这种应用应该是比较常见的是使用方式,但我怎么想不明白为什么会先Add,EF直接按状态的修改先后顺序执行就是的了,偏偏还要自己按某个顺序来执行。
又或者EF中有某个方法可以让我定义执行的方式,望知道的人说下。