Недавно я попробовал шаблоны CodeSmith для NHibernate. Как многие из вас могли наблюдать, есть видео, объясняющее, как создать Petshop.Data с использованием этих шаблонов. Мой вопрос: какова правильная архитектура в этом подходе? Должен ли мы иметь слой BLL (или Services) для взаимодействия с этим Petshop.Data или напрямую вызывать ManagerFactory на нашем уровне представления? Кроме того, должен ли наш уровень представления не знать о бизнес-объектах в нашем Petshop.Data, и если у нас снова есть бизнес-объекты в BLL?