gpt4 book ai didi

linq - LINQ和处理回滚

转载 作者:行者123 更新时间:2023-12-03 08:02:19 25 4
gpt4 key购买 nike

我有一个图片上传处理程序(.ASHX)。我将图像元数据存储在数据库中,并根据该条目的ID将图像命名为数据库。我正在使用LINQ,并在调用SubmitChanges之后找回ID。然后,我使用该ID保存图像。如果File.SaveAs失败,我显然想回滚插入。我下面的代码正确吗?

using (UserDataContext userDataContext = new UserDataContext())
{
GalleryImage galleryImage = new GalleryImage();
galleryImage.metaName = "some meta stuff";
userDataContext.GalleryImages.InsertOnSubmit(galleryImage);
System.Data.Common.DbTransaction transaction = userClassContext.Transaction;
userDataContext.SubmitChanges();
try
{
string targetPath = "somepath/" + galleryImage.Id;
file.SaveAs(targetFilePath);
}
catch
{
transaction.Rollback();
}
}

谢谢

最佳答案

这是部分正确的。

但是,您需要在调用SubmitChanges()之前显式创建一个事务。

关于linq - LINQ和处理回滚,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4732956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com