LINQ и обработка откатов - PullRequest
       12

LINQ и обработка откатов

1 голос
/ 19 января 2011

У меня есть обработчик загрузки изображений (.ASHX).Я храню метаданные изображения в базе данных и называю изображение с идентификатором этой записи в базе данных.Я использую LINQ и получаю идентификатор обратно после вызова SubmitChanges.Затем я использую этот идентификатор, чтобы сохранить изображение.Я, очевидно, хочу откат вставки, если 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();
    }
}

Спасибо

1 Ответ

0 голосов
/ 19 января 2011

Это частично правильно.

Однако вам необходимо явно создать транзакцию перед вызовом SubmitChanges().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...