Приложение, в котором я сейчас работаю, сильно использует шаблон хранилища с NHibernate. У нас есть общий базовый класс репозитория, который реализует стандартные методы получения и сохранения. Этот класс затем наследуется репозиториями для каждого типа. Эти репозитории могут затем добавить свои собственные типы специфических методов (и переопределение сохраняет и получает, если необходимо).Образец репозитория - поиск репозитория на основе типа
Это хорошо работает, и из-за разнесения проблем точка зрения означает, что наши бизнес-объекты являются POCO, а наши классы хранилища обрабатывают специфику сохранения. практически, однако было бы очень полезно, когда у нас есть тип, который сможет сказать «Получите мне репозиторий, который может сохранить этот тип». Какие шаблоны можно использовать для этого? Нужно ли мне поддерживать собственную таблицу поиска? может ли таблица поиска автоматически поддерживаться?