如何在F#LINQ to SQL中进行动态排序

如何在F#LINQ to SQL中进行动态排序,f#,f#-3.0,F#,F# 3.0,当使用F#LINQ to SQL查询表达式时,是否有一种方法可以进行动态排序(C#中的动态LINQ)。我特别希望做以下工作 open System open Microsoft.FSharp.Data.TypeProviders open System.Data.Linq.SqlClient open System.Linq open Microsoft.FSharp.Linq type schema = SqlDataConnection<"Data Source=SERVER\INS

当使用F#LINQ to SQL查询表达式时,是否有一种方法可以进行动态排序(C#中的动态LINQ)。我特别希望做以下工作

open System
open Microsoft.FSharp.Data.TypeProviders
open System.Data.Linq.SqlClient
open System.Linq
open Microsoft.FSharp.Linq

type schema = SqlDataConnection<"Data Source=SERVER\INSTANCE;InitialCatalog=MyDatabase;Integrated Security=SSPI;">

let db = schema.GetDataContext()
query {
  for student in db.Student do
    sortBy "Name"  //provide column name as string rather than expr
    select student
}
开放系统
打开Microsoft.FSharp.Data.TypeProviders
open System.Data.Linq.SqlClient
开放系统
打开Microsoft.FSharp.Linq
类型schema=SqlDataConnection
让db=schema.GetDataContext()
质疑{
适用于db中的学生。学生做什么
排序方式为“Name”//将列名作为字符串而不是expr提供
选择学生
}
是通过扩展方法实现的,这些方法应该在F#3.0中工作,那么为什么不像在C#中那样使用DynamicIQ呢

open System.Linq.Dynamic
let db = schema.GetDataContext()
db.Student.OrderBy("Name")