【问题标题】:Setting DataLoadOptions for DataContext in F#在 F# 中为 DataContext 设置 DataLoadOptions
【发布时间】:2011-03-22 17:28:53
【问题描述】:

是否可以在 F# 的数据上下文中设置 DataLoadOptions?到目前为止,我没有运气,因为 DataLoadOptions.LoadWith() 需要一个 System.Linq.Expressions.LambdaExpression,这似乎无法在 F# 中实例化

【问题讨论】:

    标签: linq-to-sql f# datacontext


    【解决方案1】:

    我相信这应该是可能的。您需要引用 FSharp.PowerPack.Linq.dll,它增加了对将 F# 引用(使用 <@ fun x -> x.Foo @> 编写)转换为 C# 表达式树的支持。像这样的东西应该可以解决问题:

    #r @"FSharp.PowerPack.Linq.dll"
    
    open System
    open System.Linq.Expressions
    open Microsoft.FSharp.Linq.QuotationEvaluation
    
    let e = <@ Func<int, int>(fun x -> 1 + x) @>
    let lambda = e.ToLinqExpression() :?> LambdaExpression 
    

    请注意,引用创建了一个Func&lt;...&gt; 委托,该委托被转换为可以转换为LambdaExpression 的表达式树(普通 F# 函数的表示方式不同)。

    【讨论】:

      猜你喜欢
      • 2014-09-21
      • 1970-01-01
      • 2018-03-12
      • 2013-02-19
      • 2011-01-06
      • 2012-11-09
      • 2012-09-07
      • 2010-11-24
      • 1970-01-01
      相关资源
      最近更新 更多