ピースペース

EntityFrameworkでSQLiteを使ってみた

leave a comment »

一部ではあまり評判よくないこともあったりするEntityFrameworkですが、
いまのところ、たいへんありがたく使わせてもらっている。
最近、SQL Serverの代わりにMySQLじゃダメなの?を試してみて、
EntityFrameworkであれば、これまでと変わりなくコードできることに感心した。

今回作成しているアプリはデータ連携処理専用の特命PC用。
なので、MySQLでもなくて、SQLiteを使ってみた。
こちらもデータベースが何か?をほぼ意識せずにアプリに集中できる。のが良い。
SQL Server Compactでもなんでも構わない!のだ。

とわいえ、データベースシステムによってサポートしている型は微妙に違う。
に、ちょっとはまった;
dbContext.Books.ToList()
で、「指定されたキャストは有効ではありません」と叱られる!
が、dbContext.Books.Find(“****”)はよかったりする。
どうも、文字列な項目に数値が格納されているレコードがクエリー結果に含まれるとダメらしい。
なんで??

最初、インストールしたパッケージの不具合かも?とか、
web.configのEntityframeworkのProviderの構成?ConnectionString?
などを疑ったが、結局のところ、
サーバーエクスプローラでテーブルを作成したときにフィールドに指定した型が間違ってた;
デザイナーでDataTypeをstring→textとかnvarcharに変更したら解決した。
なぜ最初にDataTypeをstringで指定できたの?は、謎のままだが…
あと、PrimaryKeyをGuidにしたテーブルのfindもちょっとはまった。

とまあ、もちろん、まったく同じように動くわけじゃない!が、
オラ要件レベルではほぼ同じように動く。のは偉大だなあ
すきです>EF

Written by nasu38yen

2016年9月23日 @ 4:28 PM

カテゴリー: .NET

Tagged with

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。