ورود

View Full Version : ویرایش چند سطر جدول در دیتابیس با EF core



reza69
سه شنبه 25 مرداد 1401, 12:52 عصر
سلام
با چه روشی چند سطر از یک جدول رو ویرایش کنم؟
این کد رو بدست آوردم ولی از کانتکس ایراد میگیره.

var data = _db.UserTable.Where(a => a.CityID == selectedid);
List<UserTable> deps = new List<UserTable>();
using (ApplicationDbContext db = new ApplicationDbContext())
{
foreach (var items in data)
{
deps.Add(new UserTable { CityID = 2 });
}
db.UserTable.AddRange(deps);
db.SaveChanges();
}



اینم ارورش

There is no argument given that corresponds to the required formal parameter 'options' of 'ApplicationDbContext.ApplicationDbContext

parvizwpf
چهارشنبه 26 مرداد 1401, 11:05 صبح
برای نمونه:
var idList=new int[]{1, 2, 3, 4};
using (var db=new SomeDatabaseContext())
{
var friends= db.Friends.Where(f=>idList.Contains(f.ID)).ToList();
friends.ForEach(a=>a.msgSentBy='1234');
db.SaveChanges();
}

mmbguide
چهارشنبه 26 مرداد 1401, 23:08 عصر
سلام

نیازی نیست مقادیر واکشی شده از بانک اطلاعاتی که در متغیر data قرار دادی رو مجددا در یک List دیگه ذخیره کنید. حلقه را روی لیست data اجرا کن و مقدار مورد نظر را بروزرسانی کن و بعد ذخیره کن. کد رو میتونید به شکل زیر اصلاح کنید:

var data = _db.UserTable.Where(a => a.CityID == selectedid);
using (ApplicationDbContext db = new ApplicationDbContext())
{
foreach (var items in data)
{
items.CityID = 2;
}
db.SaveChanges();
}