次の2つのクエリがあります
List<User> allUsers= dbContext.Users.ToList();
List<User> topTenUsers = dbContext.Users.Take(10).ToList();
これらはインスタンス クラスのプロパティであり、どちらも以下のコードのようにデータをロードします。
using (var dbContext = new fooDataObjects.DataContext()) {
//...they are loaded here
}
問題は、結果コレクションにアクセスしようとすると、allUsers
「破棄されたオブジェクトにアクセスできません」という例外が発生することです。しかし、同じ方法で結果コレクションにアクセスできますtopTenUsers
。
Take() は、2 番目のコレクションから結果を取得できる結果要素を列挙するように LINQ に強制しますか?