0

我需要帮助才能在我的 C# 代码中将 SQL 查询转换为实体查询。该查询将 4 个不同的表组合在一起,如下所示:

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

2 回答 2

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 };
于 2012-10-20T16:48:32.283 回答
0

我认为你走的是相反的方向。首先创建一个实体框架,然后使用 EF 中的 LINQ 创建 SQL。它应该是 EF->LINQ-SQL。EF 的整个想法是用户不必创建 sql。在项目中创建 EF 后,可以在 LINQ to SQL 中完成此查询。

于 2012-10-20T16:47:24.087 回答