我想将存储库公开为“IQueryable”类型。
该存储库使用 Linq to NHibernate 与数据库进行通信。
谁能指出我的示例实现吗?
例如,我的存储库上相应的“GetEnumerator()”实现是什么样子?
Edit:
这样的事情合适吗?
public class MyTypeRepository : IEnumerable<MyType>
{
IEnumerator<MyType> IEnumerable<MyType>.GetEnumerator()
{
return Session.Linq<MyType>().GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable<MyType>)this).GetEnumerator();
}
}
这是一个糟糕的设计。
An IQueryable
是一个问题(在字典中查找“查询”)。这就是您索要数据的方式。这就是你应该成为的样子giving到存储库。
存储库应该返回答案——数据本身。
如果存储库返回 IQueryable,那么您几乎就不需要存储库了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)