2012-07-11 25 views
0
SELECT  Cities.CityName, Customers.CustomerName, SUM(Bills.Sarees) 
FROM  Bills INNER JOIN 
         Customers ON Bills.CustomerID = Customers.CustomerID INNER JOIN 
         Cities ON Customers.CityID = Cities.CityID 
Group by CustomerName, CityName 

我試圖讓它如下....但我無法通過子句中我如何可以轉換到SQL LINQ到SQL

var query = db.Bills.Join(db.Customers, c => c.CustomerID, p => p.CustomerID, (c, p) => new 
      { 
       c.Customer.CustomerID, 
       c.Customer.CustomerName, 
       c.Customer.City.CityName, 
       c.Customer.Mobile1, 
       c.Customer.Mobile2, 
       c.Customer.Telephone, 
       c.Customer.Email, 
       c.Sarees 
      }); 

回答

1

插入組看你的SQL ,你需要這樣的東西我猜:

var query = db.Bills 
    .Join(db.Customers, b => b.CustomerID, c => c.CustomerID, (b, c) => new 
    { 
     b.Sarees, 
     c.CustomerName, 
     c.CityID 
    }) 
    .Join(db.Cities, j => j.CityID, c => c.CityID, (j, c) => new 
    { 
     j.Sarees, 
     j.CustomerName, 
     j.CityID, 
     c.CityName 
    }) 
    .GroupBy(o => new { o.CustomerName, o.CityName }) 
    .Select(o => new { o.Key.CityName, o.Key.CustomerName, Sum = o.Sum(i => i.Sarees) });