2

Poco クラスで EF 4.1 を使用する ASP.NET MVC アプリケーションがあります。

次のような複数のエンティティを取得した場合:

var users = db.Users.Where(u=>u.IsActive).ToList();
var transactions = db.Transactions.Where(t=>t.IsActive).ToList();
var customers = db.Customers.Where(c=>c.IsActive).ToList();

このシナリオでは、データベースは 3 回ヒットしていますか? もしそうなら、EF 4.1にそれらの呼び出しを1回の往復で強制的に行う方法はありますか?

14 個のエンティティを取得し、他の 17 個を更新する必要がある関数があるため、これを求めています。

4

1 に答える 1

0

この場合、リレーションがなく、複数のテーブルが関係しているため、EF 4.1 を使用すると複数のトリップが発生する必要があります。これは、複数の SQL ステートメントをマージするために、これらのテーブル間にある種の JOIN を提供する方法がないためです。複数のトリップを行う必要がありますが、(可能であれば) 同じコンテキストを保持しながら DbSet を切り替えて 1 つの接続で各トリップを行うことは、依然として比較的簡単です。

于 2012-07-30T00:02:20.830 に答える