EntityFramework

EntityFrameworkから呼んだストアドのPRINT文の結果を受け取る

コンテキストがctxだとするとこんなので受け取れる。 var entityConnection = (EntityConnection)ctx.Connection; var sqlConnection = (SqlConnection)entityConnection.StoreConnection; sqlConnection.InfoMessage += (s, a) => Console.WriteLine(a.Mess…

一意キー制約は将来の機能

Entity Frameworkではじめて一意キーにリレーションを貼りたくなったのだけど、それは将来の機能だと知りました。開発チームが言及しているので、近い将来に正式サポートがされるかなあ。このところCode Firstの機能ばかりが充足していたので、DB Firstな僕…

既存(v3.5 時代)のモデルにおけるアソシエーションを外部キーアソシエーションへ変更する方法

Entity Framework v1で外部キーによるリレーションは、アソシエーションとしてマッピングされていました。こんなテーブルで、Products.CategoryIdがCategories.Idを参照しているとします。これを1.0で自動生成すると、アソシエーションが作られ、こんな感じ…

1:1のEntityにおけるOnDeleteの不思議な挙動

それにしてもEntity Framework (1.0) の挙動は意味不明ですね。毎回挙動に悩まされます。今回はOnDeleteではまっていました。データベースで2つのテーブルを用意します。この2つのテーブル同士に外部キーでのリレーションを張り、外部キー制約をつけ、親を…

サーバ側の関数を使えないEntity Framework

EntityFrameworkで作られたモデルから、データベースを更新する際に現在のEF v.1では関数も使えません。たとえば、サーバー側の日付を入れたいときはストアドとかトリガーとかでサーバ側に別途更新をかけないといけません。同様にNULL不許可のカラムに規定値…