5

私はSystem.Data.SQLiteを使用しており、以下のクエリ式によって生成された SQL 文字列を取得しようとしています。クエリは正しく実行されますが、SQL 文字列はSELECT NULL AS [EMPTY].

サポートされていないようですGetCommand().CommandTextが、サポートされている場合、生成された SQL 文字列にアクセスするにはどうすればよいでしょうか?

[<Test>]
member this.showSQL() =
    let connectionString = sprintf @"Data Source=%s;UTF8Encoding=True;Version=3" dbFilename
    let connection = new SQLiteConnection(connectionString)
    use dc = new DataContext(connection)

    let channelMap = dc.GetTable<ChannelData>()

    let map = query {
        for row in channelMap do
        where (row.ChannelId = 1)
        select (row.ChannelId, row.Data0, row.State) }

    let cmd = dc.GetCommand(map).CommandText;
    printf "SQL: %s" cmd
4

1 に答える 1