首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何取消SaveChanges

如何取消SaveChanges
EN

Stack Overflow用户
提问于 2011-07-13 04:13:07
回答 1查看 647关注 0票数 1

我创建了first SaveChanges and and (UpdateException)。我犯了第二个SaveChanges和第一个错误。该怎么做?

代码语言:javascript
复制
bool isUpdate = false;
var resource = new Resource() { url = tbUrl.Text };
//block1
try
{
    context.Resource.AddObject(resource);
    context.SaveChanges();
    isUpdate = true;
}
catch (UpdateException ex)
{

}

//block2
if (!isUpdate)
{
    resource = (from res in context.Resource where res.url == tbUrl.Text select res).First();
    context.NameToResourcer.AddObject(new NameToResourcer()
                    {
                        id_resource = resource.id,
                        name = tag
                    });
    context.SaveChanges();//error!
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-13 04:17:58

您对SaveChanges的调用应该包装在一个事务中。通常使用TransactionScope。然后,如果其中一个对SaveChanges的调用失败,则可以回滚事务。

编辑:

有关一些示例,请参阅以下两个MSDN页面:

System.Transactions.TransactionScope Class

How to: Manage Transactions in the Entity Framework

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6670487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档