使用事务还是SaveChanges(False)和AcceptAllChanges()?我一直在调查交易,看来只要我通过,他们就会在EF中照顾自己。false到SaveChanges()然后打电话AcceptAllChanges()如果没有错误:SaveChanges(false);// ...AcceptAllChanges();万一出了什么事怎么办?我不需要回滚吗?或者,一旦我的方法超出范围,事务就结束了吗?在事务进行一半的过程中分配的任何indentiy列会发生什么情况?我想,如果有人在我的唱片坏掉之前在我的唱片之后加了一张唱片,那就意味着会有一个丢失的身份值。有什么理由使用这个标准吗?TransactionScope在我的代码中?
3 回答
Qyouu
TA贡献1786条经验 获得超11个赞
using (var context = new BloggingContext()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { context.Database.ExecuteSqlCommand( @"UPDATE Blogs SET Rating = 5" + " WHERE Name LIKE '%Entity Framework%'" ); var query = context.Posts.Where(p => p.Blog.Rating >= 5); foreach (var post in query) { post.Title += "[Cool Blog]"; } context.SaveChanges(false); dbContextTransaction.Commit(); context.AcceptAllChanges(); } catch (Exception) { dbContextTransaction.Rollback(); } } }
- 3 回答
- 0 关注
- 1517 浏览
添加回答
举报
0/150
提交
取消