Я видел многочисленные примеры ленивой загрузки - какой ваш выбор?
Для класса модели, например:
public class Person
{
private IList<Child> _children;
public IList<Child> Children
{
get {
if (_children == null)
LoadChildren();
return _children;
}
}
}
Класс Person не должен знать ничего о том, как его загружают дети.... или не так ли? Разумеется, он должен контролировать, когда свойства заполнены, или нет?
У вас есть репозиторий, который связывает Person вместе со своей дочерней коллекцией или вы бы использовали другой подход, например, используя класс lazyload - даже тогда, я не хотите, чтобы класс lazyload размывался в моей модели.
Как бы вы справлялись с производительностью, если сначала запрашивали личность, а затем его детей (т.е. не ленивую загрузку в этом случае) или как-то ленивую загрузку.
Все это сводится к личным выборам?