3

EF CTP 5. プロキシされていないエンティティを取得したい単一のインスタンスがあります。これを行う方法が見つからないようです。プロキシの作成をまとめて無効にしたくはありません。この 1 つのクエリに必要なだけです。誰でも助けることができますか?

以下に簡単な例を示します。

var myEntity = DbContext.Entities.Find(1);
var unproxy = myEntity...?
4

1 に答える 1

3

唯一の可能性は、DbContextこのクエリを実行するためだけに、の新しいインスタンスを作成し、プロキシの作成をオフにすることだと思います。その理由は、DynamicProxyが実行時に作成されるタイプであり、元のエンティティタイプから派生し、追跡および遅延読み込み機能を追加するためです。この方法で作成したプロキシを削除することはできません。これを試して:

using (var context = new MyDbContext(connectionString))
{
  ((IObjectContextAdapter)context).ObjectContext.ContextOptions.ProxyCreationEnabled = false;
  var myEntity = context.Entities.Find(1);
}
于 2011-02-16T10:44:44.207 に答える