我正在使用这个控制器
public ActionResult gridview()
{
var jsonData = new {
total = 1, //todo: calculate
page = 1,
records = db.TestModels.Count(),
rows = (
from question in db.TestModels
select new {
id = question.Dataid,
cell = new string[] {
question.Dataid, question.Name, question.Emailid
}
}).ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
}
我收到此错误
LINQ to Entities无法识别方法' System.String ToString()'方法,并且此方法无法转换为商店表达式。 可以任何身体帮助
答案 0 :(得分:0)
您正在尝试在SQL查询中使用new string[]
,但无法将其转换为SQL。您需要从模型中获取所需的数据,并在内存中执行转换。使用.AsEnumerable()
表示您要在内存中执行以下操作,而不是在SQL语句中。
这样的事情:
var jsonData = new {
total = 1, //todo: calculate
page = 1,
records = db.TestModels.Count(),
rows = db.TestModels
.Select(x => new { x.Dataid, x.Name, x.Emailid })
.AsEnumerable()
.Select(x => new {
id = x.DataId,
cell = new string[3] { x.Dataid, x.Name, x.Emailid }
})
.ToArray();
};