我有一个图片上传处理程序(.ASHX)。我将图像元数据存储在数据库中,并将图像从该条目的id命名为数据库。我在调用SubmitChanges后使用LINQ并获取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();
}
}
由于
答案 0 :(得分:0)
部分正确。
但是,您需要在调用SubmitChanges()
之前显式创建一个事务。