2011-07-20 123 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