しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Entity Framework

Entity Framework 6 は NULL 可のカラムに対する条件で特に非効率なクエリを生成する

Entity Framework 6 で NULL 可のカラムに対しての条件を書くと、非常に効率の悪いクエリが生成される問題にはまって事故りかけたのでメモを残します。テスト用に以下のようなテーブルとインデックスを作成しておきます。 CREATE TABLE [Product] ( [Id] [in…

Entity Framework 6 で登録日と更新日を自動設定する

Entity Framework 6 でも LightSpeed みたいに CreatedOn / UpdatedOn というプロパティがあれば、自動的に登録日と更新日を設定してほしい人生でした。なので人形町の夜王こと nabehiro 先生のブログのコードをパクろうかと思いましたが、リフレクションが…

今すぐ Entity Framework 6 で使える機能と Entity Framework 7 についてまとめた

富山で某 O 江さんが Entity Framework 4 で切り捨てたと言ってたので、最新の Entity Framework 6.1.2 について書きます。割と頑張っているし、Entity Framework 7 が期待出来そうです。EF6.1.2 RTM Available - ADO.NET Blog - Site Home - MSDN BlogsEnti…

ASP.NET 関係で最近アップデートが行われたパッケージまとめ

最近は Windows Azure Web サイトばかり弄っていたので ASP.NET 周りが疎かになってました。先日 ASP.NET MVC のマイナーアップデートが行われていたことに気が付かなかったのがショックだったので、関係しそうなパッケージのアップデートをまとめてみます。…

Entity Framework 6 と SQL Azure をうまく使う、たったひとつの冴えたやりかた

すいません、今回もタイトルを決めるのにホッテントリメーカーを使いました。もう歳なのか、良い感じのタイトルが浮かばなくて困ります。それはともかくとして、SQL Azure を使ったサービスを作る時にはリトライ処理を追加しておくのは、もはや常識と言って…

ASP.NET で DbContext を扱う際のベストプラクティス

ASP.NET MVC のスキャフォールディングを使うと、以下のように Entity Framework の DbContext をコントローラのフィールドに持つコードが生成されます。 public class CustomerController : Controller { private SampleDbContext db = new SampleDbContext…

Entity Framework 5.0 RC と Enum Types の話

EF5 Release Candidate Available on NuGet - ADO.NET Blog - Site Home - MSDN Blogsというわけで、NuGet で Entity Framework 5.0 RC が公開されています。インストール or アップデートは Prerelease を含めれば自動で入ります。 // インストールの場合 I…

ASP.NET MVC 4 Beta で追加された Single Page Application を試す

ASP.NET MVC 4 Beta で追加された Web API プロジェクトを試す - しばやん雑記 では Web API プロジェクトを試しましたが、今回はもう一つ追加された Single Page Application を試してみようと思います。プロジェクトの作成は今までと同じで、テンプレート…

Entity Framework 4.3 Beta 1 のコードベースマイグレーションを試してみた

前回の Entity Framework 4.3 Beta 1 の自動マイグレーションを試してみた - しばやん雑記 では自動でマイグレーションを行いましたが、今回はコードベースでマイグレーションを試してみようと思います。基本的な流れとしては自動マイグレーションと同じで、…

Entity Framework 4.3 Beta 1 の自動マイグレーションを試してみた

Entity Framework 4.3 Beta 1 が昨日公開されました。詳細は ADO.NET team blog を見た方が早いと思います。EF 4.3 Beta 1 Released - ADO.NET Blog - Site Home - MSDN Blogs要約してしまうと以下の通り。 マイグレーション対応 Enable-Migrations / Update…

Entity Framework は 4.1 へ

EF 4.1 Is Coming (DbContext API & Code First RTW) - ADO.NET Blog - Site Home - MSDN BlogsEntity Framework CTP 5 は Entity Framework 4.1 となるらしいですね。RC では Go-Live ライセンスになる予定みたいですので、ようやく本格的に使っていけます…

Entity Framework コードファーストで複合キーを使ってみる

IDbSet に定義されてる Find というメソッドがオブジェクトの配列を受け取るようになっていて、複合キーの時に複数の値を指定できるようになってるんだなーと思っていたのですが、実際に使ったことが無かったので試しました。とりあえず適当にモデルクラスを…

Entity Framework CTP5 でマッピング周りがわかりやすくなったよ

Code First Mapping Changes in CTP5 - ADO.NET Blog - Site Home - MSDN Blogs知れば知るほど Code First を使いたくなってきますね。既にテストはいろいろ行ってますが、最初に Entity Framework が入った .NET 3.5 SP1 を思い出すと涙が出てきますね。と…

Entity Framework のコード・ファーストでテーブルを作成する

前回はモデルクラスを命名規約と ModelBuilder の Fluent API を使って作成するところまで書きました。今回はそのモデルからテーブルを作成していきます。 テーブルを作成する Entity Framework CTP 4 には System.Data.Entity.Infrastructure 名前空間に Da…

Entity Framework コード・ファースト開発の基本

Entity Framework CTP4 では命名規約を利用するだけで一般的な利用において十分なモデルを作成することが出来ますが、ModelBuilder の Fluent API を利用することでより詳細な永続化マッピングルールを定義することも出来ます。基本的な部分だけですが規約と…

Entity Framework の俺的まとめ

個人的に超ブームな Entity Framework について、日本語情報が少なすぎるので私が知りうる限りの情報をまとめてみました。勘違いしている部分などあると思うので、コメントで突っ込んでもらえるとありがたいです。 Entity Framework とは .NET Framework 3.5…

Entity Framework CTP4 を使う上での注意点

ローカルでは SQL Server Compact 4 で問題なかったのですが、本番サーバーの SQL Server 2008 へ繋ごうとした時に以下の問題が起きました。 RecreateDatabaseIfModelChanges や CreateDatabaseOnlyIfNotExists が動作しない Database.SetInitializer を呼び…

Entity Framework 使うなら読んでおくべきな記事

Entity Framework は LINQ to SQL と違って Entity SQL 経由で実行されます。いきなり SQL を生成する LINQ to SQL とは異なり 1 つ挟まってます。それはともかく、Entity Framework でも LINQ to SQL でも問題になるのがクエリ式内部では特定の CLR オブジ…