2011-07-20 124 views
1

的我在VB下面的查詢,但我不知道怎麼把它翻譯成C#synataxC#相當於VB LINQ查詢

Dim q = From c In db.Customers 
     Group Join o In db.Orders On c.CustomerID Equals o.CustomerID Into orders = Group 
     Select New With {c.ContactName, .OrderCount = orders.Count()} 

謝謝

回答

4

這其實很容易。你一定要放下「集團」:

var q = from c in db.Customers 
     join o in db.Orders on c.CustomerID equals o.CustomerID into orders 
     select new { c.ContactName, OrderCount = orders.Count() }; 

或者,如果你正在尋找的lambda語法:

var q = db.Customers.GroupJoin(db.Orders, 
           o => o.CustomerID, 
           c => c.CustomerID, 
           (c, orders) => 
            new 
            { 
             c.ContactName, 
             OrderCount = orders.Count() 
            }); 
1
Dim q = From c In db.Customers 
    Group Join o In db.Orders On c.CustomerID Equals o.CustomerID Into orders = Group 
    Select New With {c.ContactName, .OrderCount = orders.Count()} 

var q = 
    from c in db.Customers 
    join o in db.Orders on c.CustomerID equals o.CustomerID into orders 
    select new {c.ContactName, .OrderCount = orders.Count()}; 
+0

呸,賈斯汀·比我快多了,而且沒有按」不要忘記分號:P – Xiphos