sql >> Database >  >> RDS >> PostgreSQL

Een opgeslagen procedure aanroepen in Postgresql via F# en Npgsql

Ik weet dat deze vraag lang geleden is gesteld, maar ik dacht dat ik een verwijzing zou toevoegen naar de SqlProvider . Hieraan is onlangs ondersteuning voor PostgreSQL toegevoegd en het bevat ondersteuning voor SPROCS.

 [<Literal>]
 let connStr = "User ID=postgres;Password=password;Host=POSTGRESQL;Port=9090;Database=hr;"

 [<Literal>]
 let resolutionFolder = @"D:\Downloads\Npgsql-2.1.3-net40\"

 type HR = SqlDataProvider<ConnectionString=connStr,DatabaseVendor=Common.DatabaseProviderTypes.POSTGRESQL, ResolutionPath = resolutionFolder>
 let ctx = HR.GetDataContext()

 ctx.Procedures.ADD_JOB_HISTORY(100, DateTime(1993, 1, 13), DateTime(1998, 7, 24), "IT_PROG", 60)


 //Support for sprocs that return ref cursors
 let employees =
     [
       for e in ctx.Functions.GET_EMPLOYEES().ReturnValue do
           yield e
     ]

Waar de resolutiemap verwijst naar de locatie van de NPGSQL .NET-assembly's.



  1. Proberen te verwijderen uit meerdere tabellen met behulp van SQL

  2. .NET 4:EDMX-bestand configureren in een andere assembly in Web.Config

  3. Verschillende willekeurige tijdgeneratie in het vaste interval

  4. Benchmarking handmatige database-implementaties versus geautomatiseerde implementaties