努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:olddiary:2017:201709

←201706^start|目次^201710→

2017-09 日記コピー

2017-09-03 SQLiteのEntity FrameworkはCode First 未サポート

[Database] System.Data.SQLiteではEntity FrameworkでCode Firstが使えない

スタックオーバーフローとか調べてようやく気が付きました。(;´д`)トホホ…

context.Database.CreateIfNotExists();
context.Recs.Add(Rec1);
context.Recs.Add(Rec2);
context.SaveChanges();

こんなコードを書いてSQLSERVERローカルデータファイルで試すと無事に終了し、テーブルもレコードも生成されている。 よしよしと接続先をSystem.Data.SQLite(SQLite)に切り替えてみるとSaveChanges()でException発生。 調べると…「SQL logic error or missing database no such table: Recs」

The SQLite provider for EF6 does not support Code First

ちょっと待ちなさいよ、「Create Table Recs(…)実行するのが君の仕事じゃろ?」と。

検索するとVS2015+SQLiteの組み合わせを使っている話が結構出てくる。……まぁ、VS2015で使う際にNuGetでは駄目で自分で公式サイトからダウンロードとインストールが必要だったりする手間がかかるけど。

なので、使えない訳ではないはず。

そして先のスタックオーバーフローのサイトで「The SQLite provider for EF6 does not support Code First / Migrations workflow, so you must manually create the database outside of your EF6 workflow.」な回答を見つける……

あ、そうかー

うまくいってるところの記事は確かにデザイナで作ったり事前にDDL流してテーブル作ってるねー

(;^ν^)ぐぬぬ…

documents/olddiary/2017/201709.txt · 最終更新: 2024/04/14 11:23 by k896951

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki