Entity Framework 6

Entity Framework 6 で開発環境以外から ef6.exe を使ってマイグレーションを適用する

最近では Entity Framework 6 を使って新しく開発することはないと思いますが、既存アプリの改修ではまだ利用せざるを得ないこともあり、データベースを変更するときにはマイグレーションが必要になります。 ただ Entity Framework のマイグレーションは昔からわかりにくく、特に開発環境 以外 から適用するときは毎回けっこう調べ直す必要があ・・・続きを読む

Entity Framework 6 Code First で IQueryable の型キャストを伴う検索クエリーを実行するには

.NET で Entity Framework 6 Code First を使っていると共通的なインターフェースをもつエンティティに同じような処理を適用したいことがあります。 そんなときはインターフェースを定義して、エンティティクラスにそのインターフェースを実装し、拡張メソッドで共通機能を実装するのがスマートかと思います。 しかし、そこで LINQ to E・・・続きを読む

Entity Framework 6 Code First でエンティティクラスを継承するときの注意

Entity Framework 6 Code First (以下 EF) で似たようなテーブルを扱う際、クラスのプロパティを何度も書きたくはないので、できれば継承して済ましたい場合があります。 ただ EF は内部で POCO (Plain Old CLR object) クラスとデータベースのリレーションとの間で様々な判断の上でクエリーを生成しているので、・・・続きを読む

C# Entity Framework 6 の DbContext で変更されたレコードと変更前後の値を取得する

Entity Framework 6 (以下、 EF6) では自動で変更を追跡してくれるため、 SaveChanges() を呼び出すとなんらかの変更があったレコードだけがデータベース側で変更されます。 簡単なアプリケーションではすべてフレームワーク任せでもいいのですが、少し実用的なアプリケーションを作ろうとすると、ユーザーに確認を求めたり、ログを残したりす・・・続きを読む