Просто быстрый вопрос о моем уровне домена / доменной службе ... Должен ли я разрешить этому уровню иметь доступ только для чтения к базе данных? то есть подключить IReadOnlySession и разрешить только уровню репозитория иметь доступ к CRUD, т.е. постоянство? Или должен ли уровень репозитория выполнять операции ReadOnly и CRUD, а уровень обслуживания выполняет вызов уровню репозитория?
Одна вещь, которую я нахожу довольно странной, заключается в том, что большую часть времени Сервисный уровень делает только прямой вызов Repo, поэтому возникает вопрос - переместить ReadOnly на Сервисный уровень домена.
EDIT:
Я решил, что в моем приложении должно быть 3 слоя (для всех, кто интересуется тем, что я сделал), первый уровень - это WebUI (всего у меня будет 3, бизнес-требование), ниже - Доменная служба. т. е. все бизнес-правила, проверка, проверка, может ли пользователь выполнить действие x, пользователь - действительный пользователь, вызывающий хранилище данных. Последний уровень - это уровень репозитория, то есть уровень, который сам взаимодействует с базой данных, я использую LinqToSql, вся моя логика CRUD и ReadOnly находится здесь. В качестве примечания я создал еще один проект под названием Model, это фактические сущности модели LinqToSql, то есть Product, Item, Shop, Customer и т. Д. На этот самый проект ссылаются пользовательский интерфейс, Domain Service и Repo, спасая меня от написания DTO и от Надеюсь, ненужная сложность.