实体框架 - 按SQL函数排序

fox*_*ter 5 c# entity-framework sql-function

是否可以通过数据库中的sql函数对Entity Framework进行排序?我的意思是:

 var xx = DbContext.Set<Article>()
      .Where(x=>x.Name.Contains("X")).OrderBy("[dbo].[MySQLFunction]");
Run Code Online (Sandbox Code Playgroud)

Wah*_*tar 3

var xx = DbContext.Set<Article>()
      .Where(x=>x.Name.Contains("X"))
      .Select(x=> new 
        {
           Article = x,
           orderItem = SqlFunction.//Any function you want to use.
                                   // Or may you want to use DbFunctions               
        })
      .OrderBy(x=>x.orderItem);
Run Code Online (Sandbox Code Playgroud)

以下是有关DbFunctionsSqlFunctions的更多信息


更新:

顺便说一句,如果您打算使用自定义 SQLFunction,那么我建议您在表中创建一个计算列,并使该列使用此 SQLFunction,然后您可以使用普通的 Linq 查询来 OrderBy 或针对该字段进行筛选