Linq To Sql-动态OrderBy-何时发生

问题描述:

我正在使用 Linq to sql Linq Dynamic OrderBy.

I'm using Linq to sql and Linq Dynamic OrderBy.

我知道linq dynamic可以像- orderby("column_name")一样进行简单的排序.

I know linq dynamic can do simple sorting like - orderby("column_name").

但是它是否支持更复杂的功能,例如其中包含"CASE WHEN"的查询?

string orderbyQuery = "(CASE WHEN (username == 100) THEN 1 ELSE 0 END) DESC)";

这是我的查询:

var u = from u in db.users
        orderby(orderbyQuery)
        select u;

以上示例不起作用! ,是否有可能? 还有其他方法吗?

the above example doesn't work! , any idea if its possible? any other way to do it?

谢谢

var u = from u in db.users
        orderby u.username == 100 ? 1 : 0 descending
        select u;