2012-10-20 201 views
0

我需要幫助將SQL查詢轉換爲我的C#代碼中的實體查詢。 查詢結合4代不同的表一起是如下:如何將此SQL查詢轉換爲LINQ to Entities查詢?

SELECT a.email, 
     a.status, 
     a.createdat, 
     b.unitprice, 
     c.name, 
     d.name, 
     e.name 
FROM Orders a, 
    Orderdetails b, 
    ServiceOptions c, 
    services d, 
    merchants e 
WHERE a.id=b.orderid AND c.id=b.serviceoptionid 
     AND c.serviceid=d.id AND d.merchantid=e.id 

回答

4
var query = from a in context.Orders 
      join b in context.OrderDetails on a.id equals b.orderid 
      join c in context.ServiceOptions on b.serviceoptionid equals c.id 
      join d in context.services on c.serviceid equals d.id 
      join e in context.merchants on d.merchantid equals e.id 
      select new { a.email, 
         a.status, 
         a.createdat, 
         b.unitprice, 
         c.name, 
         d.name, 
         e.name }; 
+0

謝謝,適合我! –

0

我想你會相反的方向。首先創建一個實體框架,然後使用EF中的LINQ創建SQL。它應該是EF-> LINQ-SQL。 EF的整個想法是用戶不必創建一個sql。在項目中創建EF之後,可以在LINQ to SQL中完成此查詢。