سؤال

string[] usersToAdd = new string[] { "asd", "asdert", "gasdff6" };
using (Entities context = new Entities())
{
    foreach (string user in usersToAdd)
    {
        context.AddToUsers(new User { Name = user });
    }
    try
    {
        context.SaveChanges(); //Exception thrown: user 'gasdff6' already exist.
    }
    catch (Exception e)
    {
        //Roll back all changes including the two previous users.
    }

أو ربما يتم ذلك تلقائيا, بمعنى أنه إذا حدث الخطأ وارتكاب التغييرات إلغاء كل التغييرات.الأمر ؟

هل كانت مفيدة؟

المحلول

طيب

أنا خلقت عينة تطبيق مثل المثال من السؤال و تعمل تحققت في DB و لا تم إضافة المستخدمين.

الخلاصة:ObjectContext.SaveChange تلقائيا الصفقة.

ملاحظة: أعتقد المعاملات سوف تكون هناك حاجة إذا المنفذة sprocs.... الخ

scroll top