كيف يمكنني حذف واحد أو أكثر من الصفوف من الجدول باستخدام Linq إلى كيانات *دون* استرداد الصفوف الأولى ؟

StackOverflow https://stackoverflow.com/questions/1601350

  •  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();

انظر الكامل نصيحة لمزيد من التفاصيل والتعقيدات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top