1
이미지 업로드 처리기 (.ASHX)가 있습니다. 데이터베이스에 이미지 메타 데이터를 저장하고 해당 항목의 ID에서 이미지를 데이터베이스로 명명하고 있습니다. SubmitChanges를 호출 한 후 LINQ를 사용하고 ID를 다시 가져옵니다. 그런 다음 그 id를 사용하여 이미지를 저장합니다. 필자는 분명히 File.SaveAs가 실패 할 경우 삽입을 롤백하려고합니다. 아래 코드가 정확합니까?LINQ 및 롤백 처리
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();
}
}
감사
그것은 부분적 올
이제 수정했습니다. 맞습니까? 감사합니다 – Peuge
@Peuge : IIRC, 당신은 datacontext의 연결에서'BeginTransaction()'을 호출해야합니다. 시도해보십시오. 잘못했을 경우 실패 할 것입니다. – leppie