2016-08-26 8 views
5

Uczę się F # i bawię się z dostawcami typów i połączyłem niesamowitą FSharp.Data.SQLProvider z instancją serwera SQL. Jestem w stanie użyć składni wyrażeń zapytań F # do wykonywania zapytań w bazie danych, ale chciałbym zobaczyć kod SQL generowany przez dostawcę typów. Próbowałem przypisać Console.Out co zakładam jest DataContext ale pojawia się błąd mówiącyJak wyświetlić SQL wygenerowany przez dostawcę typu fsharp.data.sqlprovider

Błąd FS0810: Własność „log” nie można ustawić

Jak zalogować SQL wygenerowany przez dostawcę typu?

#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 

Odpowiedz

4

Można słuchać SqlQueryEvent zdarzenia:

FSharp.Data.Sql.Common.QueryEvents.SqlQueryEvent |> Event.add (printfn "Executing SQL: %O") 
Powiązane problemy