Реально ли построить специфическую для компании структуру, которая обернет NHibernate?
Я слышал, что компании, которые используют технологии Java, использовали для создания своих собственных платформ, которые обертывают Hibernate. Однако реально ли для их пэров.Net сделать то же самое с NHibernate или Entity Framework?
3 ответа
Я использую шаблон хранилища и отдельный проект /dll, чтобы абстрагировать структуру данных nhibernate / entity entity. это хорошая отправная точка http://codebetter.com/petervanooijen/2008/04/04/wrapping-up-nhibernate-in-repositories/
Это почти всегда ужасная идея - я думаю, что Айенде суммирует это лучше всего в этой статье. В общем, вы должны рассматривать NHibernate как "оболочку" для доступа к данным - попытка построить слой абстракции поверх него, вероятно, будет проигрышным предложением.
На самом деле, вы должны проверить некоторые статьи в блоге.NET Junkie. Он написал несколько отличных постов о том, как обращаться с репозиториями, запросами, командами и так далее. Мы использовали их в очень крупной корпоративной системе, где мы переключаемся между словарём в памяти, базой данных SQLite в памяти и производственной средой, использующей SQL Server или Oracle. Очевидно, что мы используем NHibernate для этого.