はじめに
SQLiteの型プロバイダを使おうとして嵌ったので備忘録として残しておきます。
// おそらく他のDB系の型プロバイダも同じ方法でできると思う。
方法
1. SqliteReadSample
というプロジェクトを作成します。
2. Visual Studio Code
でプロジェクトを開きます。
3. 必要なライブラリを nuget
から導入します。
dotnet add package FSharp.Data
dotnet add package SQLProvider
dotnet add package System.Data.SQLite
4. 一度ビルドして必要なアセンブリを取得する
dotnet build -c Release
そうすると bin/Release/netcoreapp3.1/runtimes/osx-x64/native/netstandard2.0/SQLite.Interop.dll
というdllが出力されているので、それを SqliteReadSample.fsproj
と同じ階層にコピーします。
※ Windowsの場合は bin/Release/netcoreapp3.1/runtimes/win-x64/native/netstandard2.0/SQLite.Interop.dll
を利用する.
cp bin/Release/netcoreapp3.1/runtimes/osx-x64/native/netstandard2.0/SQLite.Interop.dll ./
5. 以下のようなDBを適当に用意する
6. あとは通常通りSQLiteの型プロバイダを利用するだけ
- 実際にDBを作るときは、こんなヘンテコな名付けをしてはいけない(戒め
- SQLite.Interop.dll が .fsproj と同じ階層にないとビルドが失敗するのが許せない
- (TODO)どっかのタイミングでテーブルの連結とかのサンプルを足す