2013-02-27 106 views
1

我想將SQL查詢轉換爲ADO.NET實體框架LINQ查詢。我正在使用MySQL。Linq實體框架更新查詢

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但它沒有奏效。如何使用LINQ EF更新n

+1

_I嘗試n5.n,但它不工作_你能解釋一下嗎? – 2013-02-27 14:07:57

+0

我嘗試過「n5.n.Not_Checked」,但它不起作用。我想到達「db.not」表下的「Not_Checked」字段。如果我達到這個結局,我想更新。 – fr3ddgn 2013-02-27 14:46:40

+0

@康拉德......相當正確......我把我的vb.net帽子放在......謝謝! – PGallagher 2013-02-27 15:33:25

回答

2

我認爲你在尋找這樣的事情:

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

注意n5IQueryable,所以你必須通過循環得到的元素(S),或做FirstOrDefault()得到第一。