我有一个查询在控制器中创建图表;
select top 10 ParcaMakineAdi,Count(ParcaMakineAdi) from MakinelerVeParcalar group by ParcaMakineAdi
List 返回 10 行,每行包含 String,Int
我想将此查询转换为列表并将其发送到 View。
但我无法获得列表。例如(我想要(;
string query = "select top 10 ParcaMakineAdi as 'Name',Count(ParcaMakineAdi) as 'Value' from MakinelerVeParcalar group by ParcaMakineAdi";
var datas = query.toList();
string name = datas[0].Name;
int value = datas[0].Value;
这种情况可能吗?
如果您使用的是 EF,则可以这样做:
var items = context.MakinelerVeParcalar.GroupBy(g => g.ParcaMakineAdi).Select(s => new { name = s.ParcaMakineAdi, count = s.Count() }).Take(10);
var datas = query.toList();
如果您不使用任何ORM,则可以执行以下操作:
List<String> datas = new List<String>();
using(SqlConnection connection = new SqlConnection("conn_string"))
{
connection.Open();
string query = "select top 10 ParcaMakineAdi as 'Name',Count(ParcaMakineAdi) as 'Value' from MakinelerVeParcalar group by ParcaMakineAdi";
using(SqlCommand command = new SqlCommand(query, connection))
{
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
datas.Add(reader.GetString(0));
}
}
}
}
编辑:实际上我想念输入那个只会返回名称的示例,但我认为您可以轻松地适应您的需求。