问题已更新:
我正在使用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中获取查询结果?
答案 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
的类