如何在EntityFramework中按动态列名排序? [英] how to order by a dynamic column name in EntityFramework?
本文介绍了如何在EntityFramework中按动态列名排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使以下代码正常工作,这对于MSSQL来说工作正常,但是由于我更改为使用mySql,因此无法正常工作
I am trying to get following code working , This was working fine for MSSQL , but since i changed to use mySql it is not working
records.Content = db.areas
.Where(x => x.Name.Contains(filter)))
.OrderBy("dated desc")
.ToList();
我收到错误消息无法加载一种或多种请求的类型.获取LoaderExceptions属性以获取更多信息."
I get the error " Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information."
string colName = "datedD" ;
如何通过对colName变量进行排序来进行订购?
how to order by depneding on colName variable ?
`
推荐答案
尝试一下
string filterString = "dated";
bool isAscSorting = false;
Func<dynamic, dynamic> orderingFunction = i =>
filterString == "dated" ? i.dated :
filterString == "something" ? i.columnx : "";
records.Content = (isAscSorting) ?
db.areas
.Where(x => x.Name.Contains(filter)))
.OrderBy(orderingFunction)
.ToList()
:
db.areas
.Where(x => x.Name.Contains(filter)))
.OrderByDescending(orderingFunction)
.ToList();
这篇关于如何在EntityFramework中按动态列名排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文