代码之家  ›  专栏  ›  技术社区  ›  JustAMartin

带分页和不带LINQ2SQL的LINQ和动态查询

  •  1
  • JustAMartin  · 技术社区  · 15 年前

    我尝试了一些使用LINQ动态查询的方法-LINQKit和

    然后,我的Web服务接收查询对象列表,现在出现了一个大问题:如果字段计数和筛选值可能不同,如何将其转换为LINQ查询?

    更糟糕的是,我不使用LINQ2SQL,但我使用一些自定义DAL和存储库,这些存储库可能会在需要时返回IQuery(例如: http://msdn.microsoft.com/en-us/magazine/dd569757.aspx 滚动到存储库)。

    我知道我可以使用LINQ2SQL进行分页:

    问题是——我不想依赖LINQ2SQL(那么我可以将我的存储库实现为LINQ2SQL的包装器),但同时我希望在DAL之外的任何地方都具有LINQ查询功能。可能吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Rob Fonseca-Ensor    15 年前

    这当然是可能的,您希望创建自己的IQueryable,一个“自定义LINQ提供程序”

    http://msdn.microsoft.com/en-us/library/bb546158.aspx 马特·沃伦有一个关于它的博客系列: http://blogs.msdn.com/mattwar/archive/2007/07/30/linq-building-an-iqueryable-provider-part-i.aspx

    我建议你从这件事开始,看看它有多难,是否值得你去做!

    http://www.hanselman.com/blog/RealWorldAppsInDaysNotWeeks.aspx 并查看ADO.Net数据服务(Astoria)是否对您有用