我正在尝试从我的实体框架数据库上下文中将新数据返回到 jTable。我希望能够对这些数据进行排序,但我没有任何运气。我将一个变量传递给我的 linq 查询的 orderby 语句,但不管我做什么 - 它不会排序。如果我输入该字符串的值,它会起作用 - 所以我想知道是否可以将字符串变量添加到 linq 查询中?从我在这里看到的其他内容来看,这似乎是一个常见问题。
我在 VS 2010、.net 4.0、MVC 3 中,我已经添加并尝试让 Dynamic Linq 工作并使用 System.Data.Entity 添加它;
[HttpPost]
public JsonResult WineList(string jtSorting = null, int ProducerID = 0)
{
try
{
jtSorting = "wine." + jtSorting.Replace("ASC", "ascending").Replace("DESC", "descending");
List<Wine> wines = db.Wines.Where(w => w.Active == true).Where(w => w.ProducerID == ProducerID).ToList();
//have to do this so we don't get circular references between producers and wines
var q = (from w in wines
let wine = new
{
WineID = w.WineID,
Producer = w.Producer.Name,
VarType = w.VarType.Name,
Vintage = w.Vintage.Name,
Name = w.ShortName,
App = w.App.Name
}
orderby(jtSorting)
select wine);
//var x = from w in q
// orderby jtSorting
// select w;
return Json(new { Result = "OK", Records = q });
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}
}
如果有人有更好的方法来处理 jtable,我也愿意!谢谢