Привет
Это классы:
public class Child
{
public int Id { get; set; }
public int Name { get; set; }
}
public class Parent
{
public int Id { get; set; }
public IList<Child> Children { get; set; }
}
, когда я хочу удалить ребенка из коллекции, я написал бы что-то вроде:
currentParent.Children.Remove(toBeDeletedChild);
проблемакогда строка выше желает быть выполненной, я получаю многочисленные запросы к базе данных.
Кажется, работает ли она как цикл, который запрашивает все дочерние элементы и ищет дочерний элемент, как это:* Это означает, что я получу 100 запросов к базе данных для удаления ребенка от родителя с 100 детьми.
Я использую NH3 и Свободный Nhibernate
Отображение класса родителей:
HasMany(p => p.Children)
.LazyLoad()
.Inverse()
.Cascade.AllDeleteOrphan();