我有IQueryable的问题。我想要做的是编写允许访问数据库的库。但首先 - 在我的数据库中有3个表 - 司机,汽车,轨道。现在,如何创建一个实现IQueryable的类(或类)并允许延迟加载。我不想访问,如列出所有行和过滤器。我应该编写3个模型类并在每个类中实现IQueryable,还是编写3个模型类和另一个实现IQueryable的类(类?)?我正在寻找一些教程,但几乎每个网站都在讲述IQueryable和IEnumerable之间的差异。我现在有点困惑。任何人都可以给我一些如何正确实现这个界面的指南吗?
提前感谢任何答案。
答案 0 :(得分:1)
编写自己的库,提供不依赖于linq to objects的IQueryable
(只是在IEnumerable
内包裹IQueryable
)
非常困难,并不简单。您将找不到关于此主题的任何简单教程,因为它太复杂了,无法在简单的单个教程中涵盖。
如果你仍然想要这样做并仍然想要一个"教程",首先要从这里开始:" LINQ: Building an IQueryable Provider - Part I" (该系列有17个部分)。一旦你能够解析出IQueryable请求,你就可以将它连接到你想要使用的任何数据库接口。
我强烈建议您让其他人为您完成工作,而只是使用预先制作的ORM library。