1

私のasp.netmvc2アプリには、かなりデータ量の多いアクションがあります。リポジトリパターンを使用しながら、クエリにlinq-to-sqlを使用しています。SQL Serverプロファイラーでアクションの実行を確認すると、約60のクエリが実行されていることがわかります。私の質問は-そしてそれに答えるのに十分な情報が質問にあることを願っています-asp.netmvcは、すべてのクエリについて、データベースへの完全なラウンドトリップを行いますか、それともlinqを使用すると、実際には往復は1回だけですか?

4

2 に答える 2

2

LINQクエリであろうと生のSQLであろうと、クエリごとに1回のラウンドトリップだと思います。それはあなたが「すべての質問」が何を意味するかによると思います。

上記のコメントに答えるには:

var result = LINQ; <---クエリは生成されますが、実行されません

foreach(YourDataType ydt in result){<---結果を使用して何かを実行するとクエリが実行されます

..。

}

于 2011-02-08T18:50:39.007 に答える
1

それはあなたのLinqがどのように見えるかに依存します。結果セットが列挙されると、データベースにアクセスすることになると私は理解しています。

于 2011-02-08T18:13:30.960 に答える