Entity Framework 4.0 と .NET 4.5 で構築されたアプリケーションがあります。デフォルトのコード生成項目を使用しているため、テーブルに対してDbContext
andが生成されます。POCOs
実行時にクエリを実行すると、返されるオブジェクトは常に、元の型から継承された動的に生成されたプロキシ型になります。たとえば、Person
型がある場合、クエリは常にPerson_48573435
を継承する (正確な名前ではありません) を返しPerson
ます。
ただし、私の単体テストでは、それは起こりません。これにより、一部の動作がコンテキストによって異なります。
のインスタンス化における唯一の違いは、DbContext
単体テストでは明示的に接続文字列を渡し、実行時にweb.config
ファイルから取得されることです。ところで、接続文字列を受け取るコンストラクターを導入できるように、TT を変更する必要がありました。ObjectContext TT に存在していたため、Microsoft がこのコンストラクターを削除した理由は不明です。とにかく、このプロキシ以外はすべて正常に動作します。
質問は?オブジェクトを返すクエリがインスタンス化される方法を制御するものは何ですか? この行動に影響を与えるために何ができたでしょうか?