В дополнение к тому, что @Davide сказал:
Я бы рассмотрел возможность извлечения сущностей в их собственный проект, который НЕ будет ссылаться на данные или nHibernate.
Таким образом вы убедитесь, что ваша модель предметной области не зависит от представления данных.
Также я думаю, что желательно, чтобы уровень пользовательского интерфейса взаимодействовал не с объектами домена, а с DTO (или объектами представления).
Это еще больше уменьшит зависимость между бизнес-логикой и логикой пользовательского интерфейса, а также упростит отправку клиенту только того, что ему нужно (например, объект User
может содержать поля, такие как PasswordHash
, Salt
, LastUpdated
. Но вы хотите отображать только имя пользователя и дату последнего входа в систему. Проще, если вы используете DTO, чтобы создать тот, который содержит только то, что вам нужно, и ваш сервисный уровень возвращает , что .)