Entity Framework の関係における ICollection の役割を理解する
Entity で多対多または 1 対多の関係を操作する場合フレームワークでは、ICollection の使用が発生する場合があります。ナビゲーション プロパティのデータ型として。これにより、いくつかの疑問が生じます:
- ICollection は Entity Framework の必須要件ですか?
いいえ、ICollection を使用する必要はありません。 IEnumerable も使用できます。
- IEnumerable の代わりに ICollection を使用する目的は何ですか?
ICollection は IEnumerable より多くの機能を提供します。 IEnumerable は一連の要素を反復処理することしかできませんが、ICollection ではコレクション内の要素を追加、削除、変更できます。これは、Entity Framework でこれらの関係を維持するために不可欠です。
Listは、要素の検索、並べ替え、および挿入のための効率的な操作を提供する ICollection の特定の実装です。ただし、Entity Framework では、遅延読み込みを使用するナビゲーション プロパティに対して動的にプロキシ生成された型 (仮想型) が必要です。仮想型は ICollection インターフェイスを実装する必要があるため、ICollection を使用する必要があります。
適切なコレクション タイプの選択
IEnumerable と ICollection の選択
ナビゲーション プロパティの内容は、必要な機能によって異なります。要素を反復処理するだけの必要がある状況には、IEnumerable で十分です。 Iコレクション
関係内の要素を操作 (追加、削除、変更) する必要がある場合に使用してください。以上がEntity Framework 関係における ICollection: いつ、そしてなぜ?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。