Обобщение функции Fetch () для источников данных - PullRequest
0 голосов
/ 18 июля 2010

У меня есть репозиторий, который должен адаптироваться к любому источнику данных.
Это включает в себя определенные типы веб-сервисов, базы данных (использующие ActiveRecord и NHibernate) и даже простые файлы.
Для ActiveRecord у меня есть EnumerateQuery (запрос IActiveRecordQuery) , который возвращает IEnumerable точно так же, как мне нужно, но интерфейс недокументирован.
Что именно он делает?Как его использовать?
Можно ли использовать его для расширения функции Fetch () для приема других источников данных?
Можно ли обернуть ее своим собственным классом для приема других источников данных?

1 Ответ

1 голос
/ 18 июля 2010

Вместо этого я бы использовал IQueryable в качестве абстракции. Сделайте так, чтобы ваш IRepository реализовывал IQueryable, тогда хранилище ActiveRecord делегировало бы Castle.ActiveRecord.Linq, хранилище плоских файлов было бы реализовано с использованием LINQ to XML и т. Д.

...