Permintaan pembaruan Linq Entity Framework

Saya ingin mengonversi kueri SQL menjadi kueri LINQ ADO.NET Entity Framework. Saya bekerja dengan MySQL.

SQL:

Update Not As n 
Inner Join user As a 
On a.UserId = n.Not_UserId  
Set Not_Checked='0' 
Where n.Not_Checked='1' 
And n.Not_UserId='" + Not_UserId + "'

LINQ:

var n5 = from u in db.user
         join n in db.not
         on u.UserId equals n.Not_UserId
         where n.Not_Checked==1 && n.Not_UserId==4
         select new
         {
               u,
               n
         };

Saya ingin memperbarui nilai n. Saya sudah mencoba n5.n tetapi tidak berhasil. Bagaimana cara memperbarui n menggunakan LINQ EF?


person fr3ddgn    schedule 27.02.2013    source sumber
comment
Saya mencoba n5.n tetapi tidak berhasil Bisakah Anda menjelaskannya?   -  person Gert Arnold    schedule 27.02.2013
comment
Saya mencoba n5.n.Not_Checked tetapi tidak berhasil. Saya ingin mencapai bidang Not_Checked di bawah tabel db.not. Jika saya mencapai bidang ini, saya ingin memperbarui.   -  person fr3ddgn    schedule 27.02.2013
comment
@Conrad... Benar sekali... Saya memakai topi vb.net... Terima kasih!   -  person PGallagher    schedule 27.02.2013


Jawaban (1)


Saya pikir Anda sedang mencari sesuatu seperti ini:

foreach (var x in n5.ToList())
{
    x.n.Not_Checked = 0;
}
db.SaveChanges();

Perhatikan bahwa n5 adalah IQueryable, jadi Anda harus mengulanginya untuk mendapatkan elemen, atau melakukan FirstOrDefault() untuk mendapatkan elemen pertama.

person Gert Arnold    schedule 27.02.2013