3

私は .Net と F# に非常に慣れていないので、覚えておいてください....

Npgsql EF プロバイダーを使用して、F# で PostgreSQL に接続しようとしています。同じことについていくつかの投稿がありましたが、実際に解決策を提供するものはありません. どうやらこの作業を行うことができたと私が見た唯一の人は、この投稿の人です: Calling a stored procedure in Postgresql through F# and Npgsql

残念ながら、彼は構成の詳細を提供しました。(これを読んでいる場合は、回答を投稿してください!ありがとう!)

これが私のセットアップです:

私の App.config には次のものがあります。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
    <assemblyIdentity name="FSharp.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
    <bindingRedirect oldVersion="4.0.0.0" newVersion="4.3.0.0" />
    <bindingRedirect oldVersion="2.3.5.0" newVersion="4.3.0.0" />
    <bindingRedirect oldVersion="2.0.0.0" newVersion="4.3.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <system.data>
    <DbProviderFactories>
      <add name="Npgsql Data Provider"
            invariant="Npgsql"
            description="Data Provider for PostgreSQL"
            type="Npgsql.NpgsqlFactory, Npgsql" />
    </DbProviderFactories>
  </system.data>
  <connectionStrings>
    <add name="MyDBContext"
         connectionString="Server=******;Database=mydb;User Id=uid;Password=passwd;"
         providerName="Npgsql" />
  </connectionStrings>
</configuration>

コードは次のようになります。

open System.Data.Linq
open System.Data.Entity
open Microsoft.FSharp.Data.TypeProviders
open Npgsql
open NpgsqlTypes

type internal entityConnection = SqlEntityConnection<ConnectionStringName="MyDBContext">

let context = entityConnection.getDataContext();                                                                                    

これは機能しないか、コンパイルされません。

どんな助けでも大歓迎です。これを行う別の方法 (Npgsql を使用する以外) がある場合、私はそれも受け入れます。

ありがとう!

4

0 に答える 0