Запрос на обновление Linq Entity Framework

Я хочу преобразовать запрос SQL в запрос LINQ ADO.NET Entity Framework. Я работаю с 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
         };

Я хочу обновить значение n. Я пробовал n5.n, но это не сработало. Как обновить n с помощью LINQ EF?


person fr3ddgn    schedule 27.02.2013    source источник
comment
Я пытаюсь использовать n5.n, но это не работает Не могли бы вы объяснить?   -  person Gert Arnold    schedule 27.02.2013
comment
Я пробовал n5.n.Not_Checked, но он не работает. Я хочу добраться до поля Not_Checked в таблице db.not. Если я дойду до этого файла, я хочу обновить.   -  person fr3ddgn    schedule 27.02.2013
comment
@ Конрад ... Совершенно верно ... На мне была шляпа vb.net ... Спасибо!   -  person PGallagher    schedule 27.02.2013


Ответы (1)


Думаю, вы ищете что-то вроде этого:

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

Обратите внимание, что n5 - это IQueryable, поэтому вам нужно пройти через цикл, чтобы добраться до элемента (ов), или сделать FirstOrDefault(), чтобы получить первый.

person Gert Arnold    schedule 27.02.2013