2009-11-30 3 views
2

Я использую LINQ to SQL. Является ли следующий код надлежащим, если я хочу уведомить отправителя о том, что база данных была успешно обновлена ​​или есть лучший способ?Подтверждение успешного обновления LINQ to SQL

  try 
      { 
       dc.ModelA.InsertOnSubmit(modela); 
       dc.SubmitChanges(); 
       return true; 
      } 

      catch 
      { 
       return false; 
      } 
+0

Вы имеете в виду «успешный Linq к Sql Insert»? –

ответ

3

Лучший способ - не поймать исключение и не дать ему распространяться на вызывающего абонента. Улавливая исключение, вы удаляете всю информацию о , почему вставка не удалась, что очень затрудняет отладку и устраняет проблему. Так что вам просто нужно это:

dc.ModelA.InsertOnSubmit(modela); 
dc.SubmitChanges(); 
0

уборщик подход был бы обернуть его в TransactionScope:

using (var scope = new TransactionScope()) 
{ 
    dc.ModelA.InsertOnSubmit(modela); 
    dc.SubmitChanges(); 
    scope.Complete(); 
}