我需要帮助将SQL查询转换为我的C#代码中的实体查询。 该查询将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
答案 0 :(得分: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 };
答案 1 :(得分:0)
我认为你正朝着相反的方向发展。首先创建一个实体框架,然后使用EF中的LINQ创建SQL。它应该是EF-> LINQ-SQL。 EF的整个想法是用户不必创建一个sql。在项目中创建EF后,可以在LINQ to SQL中完成此查询。