Npgsql型プロバイダを使用して、F#からpostgresqlのストアドプロシージャを呼び出そうとしています。F#とNpgsqlを使用してPostgresqlでストアドプロシージャを呼び出す
open System
open System.Data
open System.Data.Entity
open System.Data.Linq
open Microsoft.FSharp.Data.TypeProviders
open Microsoft.FSharp.Linq
open Npgsql
open NpgsqlTypes
type internal dbSchema = SqlEntityConnection<ConnectionString="**my connection string**", Provider="Npgsql">
let internal db = dbSchema.GetDataContext()
をしかし、私は唯一のdb
タイプではなく、ストアドプロシージャのいずれかの上の表を参照してください。
現在、私は次のようにデータベースに接続されています。生のクエリ文字列を呼び出すのではなく、型プロバイダを使用して静的に型付けされたストアドプロシージャを使用する方法はありますか?
私はF#etcをよく知っていますが、実際の答えはこれで分かりますが、実際にはPgにはストアドプロシージャがないという問題があります。これには、ストアドプロシージャのようにしばしば使われるセットリターン関数がありますが、実際のストアドプロシージャと 'CALL'関数はありません。 –
@CraigRingerなぜタイププロバイダが強く型付けされた方法でそれらを呼び出すことができなかったのか分かりません。 – svick
@svick理論的には可能ですが、実際のストアドプロシージャではないため、前記タイププロバイダを介して認識され公開されない可能性があります。 –