如何从原始SQL命令读取结果

时间:2015-06-08 17:26:17

标签: c# sql-server entity-framework

问题已更新:

我正在使用C#+ SQL Server + EF6 我需要对数据库执行原始SQL命令,没有实体。

string query2 = "SELECT s.Name, t.State, Count(*) [Nb], 
AVG(t.Duration) [Avg], 
MIN(t.Duration) [Min], 
MAX(t.Duration) [Max] from ...";

如何在EF6中获取查询结果?

1 个答案:

答案 0 :(得分:1)

没有人找到答案。但是,与解决代码问题相比,它更容易downvote! 所以,这是答案,我希望它能帮助遇到同样问题的其他人。 1 /假设您构建一个查询,该查询创建一个包含名为&#34的自定义列的表;名称,状态,Nb,平均值,最小值,最大值:

string query2 = "SELECT s.Name, t.State, Count(*) [Nb], 
AVG(t.Duration) [Avg], 
MIN(t.Duration) [Min], 
MAX(t.Duration) [Max] from ...";

2 /你必须为从数据库到对象的映射创建一个类:

public class stats
{
    public String Name { get; set; }
    public Int32 State { get; set; }
    public Int32 Nb { get; set; }
    public Int32 Avg { get; set; }
    public Int32 Min { get; set; }
    public Int32 Max { get; set; }
}

3 /然后执行查询:

IEnumerable<stats> data = db.Database.SqlQuery<stats>(query2);

db是扩展DbContext

的类