推广数据源的Fetch()函数

时间:2010-07-18 12:29:16

标签: c# activerecord castle-activerecord web-services

我有一个存储库,可以适应任何类型的数据源 这包括某些类型的Web服务,数据库(使用ActiveRecord和NHibernate)甚至是平面文件 对于ActiveRecord,我有EnumerateQuery(IActiveRecordQuery query),它返回IEnumerable就像我需要的那样,但界面没有记录。
它到底是做什么用的?我该如何使用?
我可以使用它来扩展我的Fetch()函数以接受其他数据源吗? 我可以用自己的类包装它以接受其他数据源吗?

1 个答案:

答案 0 :(得分:1)

我会将IQueryable用作抽象。使您的IRepository实现IQueryable,然后ActiveRecord存储库将委托给Castle.ActiveRecord.Linq,平面文件存储库将使用LINQ to XML等实现。