EF:如何执行多个连接的SQL查询?

时间:2016-09-30 15:37:59

标签: c# sql asp.net-mvc entity-framework-6

我正在使用Entity Framework V6.1.3,我想执行SQL查询 它从多个表中收集信息,如下所示:

var result = context.Database.SqlQuery<SomeType>("SELECT SUM(d.PurchaseValue) AS 'Total', div.Name, l.Name " +
                                                  "FROM Device AS d " +
                                                  "RIGHT JOIN Location AS l " +
                                                  "ON d.LOCATION_ID = l.ID " +
                                                  "RIGHT JOIN Division AS div " +
                                                  "ON d.DIVISION_ID = div.ID " +
                                                  "GROUP BY div.Name, l.Name " +
                                                  "ORDER BY l.Name");

我的问题是,SqlQuery中的类型应该是什么&lt;&gt;?或者执行这样的查询并从中获取结果的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

嗨,Newb

此处.each可以是任何类型,其属性与查询返回的列的名称相匹配。

例如

您的查询返回列

总计|名称

所以你的返回类型可以如下所示

elementid

您的查询电话将是

Type

答案 1 :(得分:1)

您是否看过Data Development Center检查了方法?

注意'实体框架允许您使用LINQ与您的实体类进行查询。但是,有时您可能希望直接使用原始SQL对数据库运行查询。'

如果可以,请使用LINQ。点击herehere开始。