При использовании CSLA.net все классы домена должны быть унаследованы от Businessbase, который содержит невиртуальные свойства.
При использовании NHibernate нам необходимо реализовать виртуальные свойства для отложенной загрузки.
Вот несколько вариантов совместного использования CSLA / NHibernate:
- отключить ленивую загрузку в NHibernate и реализовать код ленивой загрузки в доменных классах (хотя это кажется менее гибким)
- оставьте ленивую загрузку в NHibernate, но используйте класс DTO для сопоставления с базой данных, а затем перенесите данные в классы домена CSLA
Какие еще могут быть варианты? Будем очень признательны за любые указатели в правильном направлении.
Я полагаю, что вышеупомянутый вопрос действительно применим к использованию NHibernate с любым фреймворком.