2016-02-23 119 views
-7

我寫這篇文章的SQL查詢我可以在實體框架寫這與以下相同的概念提到查詢如何使用實體框架和LINQ

update o set o.Name='NewName' 
from Organization o 
Inner join Guardian g on o.OrgRowId=g.OrgRowId 
where g.IsEnabled=1 and g.OrgRowId=1 

請指導!

更新

按照要求這就是我能夠組成與加入select查詢,但無法做到的更新在同一查詢

var query = from o in Organizations    
       join g in Guardians on o.OrgRowId equals g.OrgRowId    
       where g.IsEnabled && g.GuardianRowId==1    
       select o; 

更新1 Kilanny,我試過你查詢和更新我的一個這樣,但它沒有影響,我在Linqpad運行這些查詢

using (var context = new DbEntities()) 
{ 
    var query = from o in Organizations 
       join g in Guardians on o.OrgRowId equals g.OrgRowId 
       where g.IsEnabled && g.GuardianRowId == 1 
       select o; 
    foreach (var item in query) 
    {  
     item.Name="New Organization Name"; 
     context.SaveChanges(); 
    } 
    query.Dump(); 
} 
+3

你有什麼試過的?你有沒有搜索如何在linq中編寫'update'和'join'?這個網站已經有很多關於它的問題。 –

+0

可能重複的[C#連接/ Linq和Lambda在哪裏](http://stackoverflow.com/questions/2767709/c-sharp-joins-where-with-linq-and-lambda) – user1666620

+0

@Kilanny,我知道如何使用linq編寫連接,但是如何在linq中編寫更新查詢並加入linq並實現1查詢中的目標,而不是寫入多個 – Shax

回答

0
var query = from o in Organizations    
      join g in Guardians on o.OrgRowId equals g.OrgRowId    
      where g.IsEnabled && g.GuardianRowId==1    
      select o; 
foreach (var item in query) 
    item.Name="NewName"; 
entities.SaveChanges(); 
+0

它不工作..看我的更新帖子 – Shax