IQueryableまたはIEnumerableデータ型は最初から結果を返さず、必要な場合にのみ結果を返すことを学びました。ただし、ウォッチインスペクターでそのオブジェクトを開くと、すべてのオブジェクトがそこにあることがわかりました。
私のコードに何か問題がありますか、それとも時計で呼び出したために表示されていますか?
[ウォッチダイアログボックスで保留中のオブジェクトを表示すると、すべてのリストアイテムが表示されましたが、最初からロードされないはずです。近づいてくるのに何か問題がありますか、それとも時計で呼んでいたので表示されているだけですか。]
public IQueryable<PurchasePendingView> PurchasePendings() {
var pendings = db.PurchasePendingViews
.Where(m => m.AccountStatusID != StructAccountStatus.Succeed); // when I view it in the watch dialougebox I saw all the list items but it shouldn't load at the first place. Is there anything wrong in my approaching or is it just showing because I had call it on the watch.
if (ApplicationEnvironment.DEBUGGING) {
return pendings;
} else if (IsMobileAccount()) {
var showroom = db.ShowRooms.FirstOrDefault(m=> m.MemberID == employee.MemberID);
if (showroom != null) {
return pendings.Where(m => m.ShowRoomID == showroom.ShowRoomID);
} else {
return pendings.Where(m => m.CountryDivisionID == employee.CountryDivisionID);
}
} else {
//normal salary employee can see every detail
return pendings;
}
}
注:現在、遅延読み込みはオフになっています。