دسته بندی ها
01:53 1399/04/05

حذف چند رکورد از دیتابیس در سی شارپ و WPF

مشخصات سوال کننده :
کاربر : Alireza     امتیاز کاربر : 115     رتبه کاربر : 13
دسته بندی : WPF

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3055
هوش مصنوعی

پاسخ هوش مصنوعی

برای حذف چند رکورد از دیتابیس، باید به جای استفاده از SingleOrDefault() که تنها یک رکورد را برمی گرداند، از متد ToList() استفاده کنید تا تمام رکوردهای مطابق با شرط شما را دریافت کنید. سپس می توانید همه آن ها را حذف کنید. در زیر کد اصلاح شده را مشاهده می کنید:

int idhavale = Convert.ToInt32(txtHavale1.Text.Trim());

var deleteRecords = (from II in DB.HavaleKhMahsoolItems
                     where II.HavaleKhMahsoolID == idhavale
                     select II).ToList();

DB.HavaleKhMahsoolItems.RemoveRange(deleteRecords);
DB.SaveChanges();

با استفاده از RemoveRange()، تمام رکوردهای انتخاب شده به طور همزمان حذف می شوند.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : Sowgandi 16:52 1399/04/05

سلام.

کدتون رو به شکل زیر تغییر بدید.

           int idhavale = Convert.ToInt32(txtHavale1.Text.Trim());

                var Deletequery1 = (from II in DB.HavaleKhMahsoolItems
                                    where II.HavaleKhMahsoolID == idhavale
                                    select II).ToList();

                DB.HavaleKhMahsoolItems.RemoveRange(Deletequery1);
                DB.SaveChanges();

از روش زیر هم میتونید استفاده کنید.

  var cmd = DB.Database.Connection.CreateCommand();
                DB.Database.Connection.Open();
                cmd.CommandText = "delete from HavaleKhMahsoolItems where HavaleKhMahsoolID = " + idhavale;
                cmd.ExecuteNonQuery();
                DB.Database.Connection.Close();

 

ویرایش شده در پنج شنبه 5 تیر 1399 ساعت 21:54:02
به این پاسخ امتیاز بدهید    2
امتیاز: 876 رتبه: 3
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود