この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 20726|答える: 0

[出典] .net IQueryableとIListの違い

[リンクをコピー]
掲載地 2016/08/22 11:22:07 | | |

IList(IList)<T>は即座にメモリに永続的データを作成し、「遅延実行」を実装しません。また、ロードされたエンティティに関連するエンティティがある場合、そのエンティティはロードされません(即時でも怠惰でもありません)。

IQeurableは<T>すぐにメモリに永続的なデータを作成するわけではなく、通過(例:フォーリーチ経由)、リストに変換された場合にのみデータをメモリに読み込み、現在読み込まれているエンティティにアソシエーションがある場合に「延期実行」を実現できます。この関連エンティティは次のアクセスで読み込まれます。

以下のコードをご覧ください:
//IList的情况
IListユーザー=res。 ToList(); ユーザーはメモリに読み込まれていますが、各ユーザーに対応するエンティティ(UserInfos)は読み込まれていません
                       が読み込まれているため、次のコード行がスムーズに進みません
var ss = ユーザー。 ここで(p => p.UserInfos.ID != 3); ここで報告されるエラーは、PのUserInfosエンティティが読み込めないためです

IQuerableの状況
IQueryable users = res. AsQueryable(); ユーザーはすぐに読み込まれるわけではなく、関連するエンティティは「レイジーロード」によって取得可能です
                                   わかりました
var ss = ユーザー。 ここで(p => p.UserInfos.ID != 3); 対応するSSはここで無事に取得されました




先の:.netはWeChatの開発を行い、ユーザー情報を取得し、ソースコードとともにスキャン機能を行っています。
次に:Alipayの注文を依頼し、使用を監視してください、@小渣渣
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com