كيف تجعل submitchanges فقط تقدم تغييرًا معينًا وليس كل التغييرات السابقة؟
-
24-09-2019 - |
سؤال
تلتزم طريقة ASP.NET LINQ Submitchanges بتغييرات لجميع تعديلات قاعدة البيانات السابقة منذ آخر مرة تم فيها استدعاءها.
لدي حالة حيث أفعل شيئًا مثل ما يلي:
ClassX x = new Abc.Linq.ClassX();
DataContext.InsertOnSubmit(x);
ClassY y = new Abc.Linq.ClassXY();
DataContext.InsertOnSubmit(y);
DataContext.SubmitChanges();//x and y are committed to the database
أود إدخال Y ولكن ليس x في السطر أعلاه. ثم أود إدراج X مع مكالمة أخرى إلى submitchanges () في وقت لاحق. لا بد لي من تنفيذ الرمز بالترتيب المعروض.
هل هذا ممكن؟ أم يجب أن أتصل بشيء آخر غير Submitchanges ()؟
المحلول
أود استخدام DataContexts منفصلة لهذا. DataContext هو ببساطة غلاف للوصول إلى البيانات ، ومجموعة من التغييرات المعلقة. إنه لا يدعم الالتزامات الجزئية لمستكشنها. insertonsubmit يفعل ما تقوله - هل هناك سبب تحتاج إلى الاتصال بذلك قبل أن تريد بالفعل تقديمه؟ ربما إذا قمت بتوضيح المشكلة التي تقلقك في ترتيب التنفيذ هذا ، فيمكننا توفير حل أفضل.
لا تنتمي إلى StackOverflow