У меня проблема с отдельными SQL-запросами, генерируемыми для каждого элемента в дочерней коллекции при выборе родительского элемента.
У меня есть родительский объект с коллекцией дочерних объектов IList.
Если я запускаю следующий код, используя linq для nhibernate:
IList родителей = _repository.ToList ();
Я получаю 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
Это, очевидно, крайне неэффективно, и предполагается, что это должно быть как-то связано с файлами сопоставления?
Ниже приведено сопоставление для коллекции Child:
<bag name="Children" lazy="false" table="Child" cascade="all-delete-orphan">
<key column="ParentId"/>
<one-to-many class="Child" />
</bag>
Поверьте, это где-то ошибка новичка.
Любая помощь очень признателен.
S