親を選択するときに、子コレクション内のすべての項目に対して個別の SQL クエリが生成されるという問題があります。
Child オブジェクトの IList コレクションを持つ Parent オブジェクトがあります。
linq を使用して次のコードを実行すると、休止状態になります。
次のようなSQLステートメントを取得します。
SELECT * FROM Parent
SELECT * FROM Child WHERE ParentId = 1
SELECT * FROM Child WHERE ParentId = 2
SELECT * FROM Child WHERE ParentId = 3
SELECT * FROM Child WHERE ParentId = 4
etc etc
これは明らかに非常に非効率的で、マッピング ファイルと関係があると思いますか?
以下は、子コレクションのマッピングです。
<bag name="Children" lazy="false" table="Child" cascade="all-delete-orphan">
<key column="ParentId"/>
<one-to-many class="Child" />
</bag>
これはどこかの初心者の間違いだと信じてください。
どんな助けでも大歓迎です。
S