Конечно, вы можете использовать PersonProxy в интерфейсе к PersonRepository и получать к нему доступ через службу, если вы не хотите напрямую вызывать PersonRepository.

ел множество примеров ленивой загрузки - какой у тебя выбор?

Приведенный класс модели для примера:

public class Person
{
    private IList<Child> _children;
    public IList<Child> Children
    {
        get {
            if (_children == null)
                LoadChildren();
            return _children;
        }
    }
}

Класс Person не должен ничего знать о том, как загружаются его дети .... или так? Конечно, он должен контролировать, когда заполняются свойства, или нет?

Будет ли у вас хранилище, которое объединяет Человека с его дочерней коллекцией, или вы используете другой подход, например, использованиеLazyLoad класс - даже тогда, я не хочу, чтобы ленивый класс размылся в моей модели архитектуры.

Как бы вы справились с производительностью, если сначала запросите Person, а затем его Children (то есть не ленивую загрузку в этом случае) или как-нибудь ленивую загрузку.

Все это сводится к личному выбору?

Ответы на вопрос(7)

Ваш ответ на вопрос