2016-08-26 6 views
5

私はF#を学習しており、型プロバイダで遊んでいて、素晴らしいものをFSharp.Data.SQLProviderに接続しました。 F#のクエリ式構文を使用してデータベースに対してクエリを実行することはできますが、タイププロバイダによって生成されたSQLを確認したいと思います。私はDataContextであると仮定し何にConsole.Outを割り当てるために試みたが、私はエラーFS0810fsharp.data.sqlprovider型プロバイダによって生成されたSQLを表示する方法

というエラーを取得:プロパティ「ログイン」は、私はSQLのログを記録するにはどうすればよい

を設定することはできませんがタイププロバイダによって生成されますか?

#r @"packages/SQLProvider/lib/FSharp.Data.SqlProvider.dll" 
#r @"System.Data.Linq.dll" 

open System 
open System.Data.Linq 
open FSharp.Data.Sql 

[<Literal>] 
let connectionString = @"SuperSecretString" 

type Sql = SqlDataProvider< 
      ConnectionString = connectionString, 
      DatabaseVendor = Common.DatabaseProviderTypes.MSSQLSERVER, 
      IndividualsAmount = 1000> 

let ctx = Sql.GetDataContext() 

ctx.Log <- Console.Out // error FS0810: Property 'Log' cannot be set 

答えて

4

あなたはイベントSqlQueryEventを聞くことができます。

FSharp.Data.Sql.Common.QueryEvents.SqlQueryEvent |> Event.add (printfn "Executing SQL: %O") 
関連する問題