EF返回DataTable并且返回Json数据

Posted 秋明小司机丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF返回DataTable并且返回Json数据相关的知识,希望对你有一定的参考价值。

public ActionResult GetData()
{
string data = Request.Form["Data"] ?? "";
using (var db = new BaseContext())
{
SqlConnection conn = new System.Data.SqlClient.SqlConnection();
//conn.ConnectionString = db.Database.Connection.ConnectionString;

conn.ConnectionString = ConfigurationManager.ConnectionStrings["Service"].ConnectionString;

if (conn.State != ConnectionState.Open)
{
conn.Open();
}
SqlCommand cmd = new SqlCommand();

cmd.Connection = conn;
cmd.CommandText = "exec pr_database " + data;

SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable table = new DataTable();
adapter.Fill(table);

List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();

foreach (DataRow Row in table.Rows)
{
Dictionary<string, object> row = new Dictionary<string, object>();
for (int i = 0; i < Row.ItemArray.Length; i++)
{
row.Add(table.Columns[i].ColumnName, Row[i].ToString());
}
rows.Add(row);

}
var data1 = JsonConvert.SerializeObject(rows);
return Json(data1, JsonRequestBehavior.AllowGet);
//for (int i = 0; i < table.Rows.Count; i++)
//{
// for (int j = 0; j < table.Rows[i].ItemArray.Length; j++)
// {

// }
//}

}

 

以上是关于EF返回DataTable并且返回Json数据的主要内容,如果未能解决你的问题,请参考以下文章

DataTable 不接受来自数据库的 json

ashx将datatable返回json数据

MVC+EF中返回JSON的性能和安全问题

使用 Ajax Jquery 将 Json 结果返回的数据数组放入 DataTable 中

EF执行存储过程并且返回DataSet

C#将查询返回的数据(一行多列)怎么转换成一列多行dataTable?