Try connecting Postgres SQL with .NET Core
Npgsql driver seems to be recompiled with .NET Core and this is a setup to prove that it works. This has been tested on Ubuntu 16.04 LTS with .NET Core 1.0.
Pre-requisites
.NET core should have been installed before trying following steps:
Instructions
1. Setup a directory. Directory name used in this example is try-postgres
.
mkdir try-postgres
cd try-postgres
2. Setup project using F# language.
dotnet new -l F#
3. Modify project.json
to add Npgsql dependency. Add following line into the dependency block.
"Npgsql": "3.*"
Version in package.json
use *
as wildcard (very Windows-oriented :). The final dependency block should look like this:
"dependencies": {
"Microsoft.FSharp.Core.netcore": "1.0.0-alpha-160509",
"Npgsql": "3.*"
},
4. Try to connect PostgreSQL. Npgsql exposes its ADO classes via Npgsql
namespace.
open System
open Npgsql
let CONNECTION_STRING = "Host=127.0.0.1;Username=postgres;Password=blahblah;Database=test"
[<EntryPoint>]
let main argv =
use connection = new NpgsqlConnection(CONNECTION_STRING)
printfn "Opening connection!"
connection.Open()
printfn "Connected."
use cmd = connection.CreateCommand()
cmd.CommandText <- "SELECT * FROM person"
use reader = cmd.ExecuteReader()
while reader.Read() do
printfn "Name: %s" <| reader.GetString(0)
0 // return an integer exit code
5. Run the code to observe result.
dotnet run
That's it!