كيف يمكنني حذف واحد أو أكثر من الصفوف من الجدول باستخدام Linq إلى كيانات *دون* استرداد الصفوف الأولى ؟
-
05-07-2019 - |
سؤال
أنا أفهم أن خريطة حذف الإجراء المخزن إلى حذف طريقة نوع معين.
غير أن هذا يتطلب مرور في استرداد كائن إلى سياق كلامي هذا DeleteObject
الأسلوب.
هذا أمر سيء بما فيه الكفاية ، ولكن ماذا لو كنت تريد حذف 2000 الصفوف ؟ يمكنني أن أفعل هذا مع Linq إلى كيانات دون استرجاع تلك 2000 الصفوف من قاعدة البيانات والذهاب من خلال حلقة الاتصال DeleteObject
?
إذا هذه وظيفة لا وجود لها في Linq إلى كيانات ، و تعرف هذه الحالة ، يرجى أقول ذلك وأنا سوف تحقق من الخيارات الأخرى!
إذا كان لا مباشرة موجودة ، هل يمكنني تحقيق طريق الأنابيب المخزنة بروك من خلال Linq إلى الكيانات ؟
المحلول
نعم ، يمكنك أن تفعل هذا.من هذا غيض:
// Create an entity to represent the Entity you wish to delete
// Notice you don't need to know all the properties, in this
// case just the ID will do.
Category stub = new Category { ID = 4 };
// Now attach the category stub object to the "Categories" set.
// This puts the Entity into the context in the unchanged state,
// This is same state it would have had if you made the query
ctx.AttachTo("Categories", stub);
// Do the delete the category
ctx.DeleteObject(stub);
// Apply the delete to the database
ctx.SaveChanges();
انظر الكامل نصيحة لمزيد من التفاصيل والتعقيدات.
لا تنتمي إلى StackOverflow