MVC 5 インターネット アプリケーションをコーディングしていますが、IQueryable の使用に関して質問があります。
DbSet オブジェクトのセットを IQueryable として取得し、各 DbSet オブジェクトの一部のプロパティを参照しない場合、IQueryable を使用するとこれらのプロパティの値が取得されますか? これは、IEnumerable ではなく IQueryable を使用する利点ですか?
各 DbSet オブジェクトの各プロパティを参照していない多くの DbSet オブジェクトから値を取得する最も効率的な方法を決定しようとしています。
前もって感謝します。
編集
この状況ではどうですか:
次のようなモデルがある場合:
public class TestModel
{
[Key]
public long Id { get; set; }
public string name { get; set; }
public string value { get; set; }
}
そして、上記のオブジェクトの DbSet を次のように取得します。
IQueryable<TestModel> testModels = await db.testModels(t => t.name.Equals("Test"));
そして、上記の IQueryable を反復処理してname
プロパティを取得します。データベースから取得された値はありますかId
?value
EDIT2
この状況ではどうですか:
いくつかの TestModel を IQueryable として取得し、それらを反復処理してから、IQueryable が同じ名前を持つまったく同じコードを呼び出すと、データベースに対して 2 つのトランザクションが行われますか?