ASP.NET MVC 选择控制器中的查询



我有一个查询在控制器中创建图表;

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));
            }         
        }
    }
}

编辑:实际上我想念输入那个只会返回名称的示例,但我认为您可以轻松地适应您的需求。

最新更新