问题标签 [iqueryable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1912 浏览

c# - 非通用 IQueryable 枚举问题

使用动态 linq ( http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx ) 我运行查询下面返回一个 IQueryable。在这个也是 IEnumerable 的结果上,我可以运行 Count() 但是没有 ToList() 来获取值。我可以使用 foreach 枚举它们,但无法在没有反射的情况下访问生成的匿名类型中的各个字段。这是唯一的方法吗?谢谢

尝试强制转换但出现错误无法将“DynamicClass1”类型的对象强制转换为“Test”类型。

}

0 投票
3 回答
213 浏览

c# - 使用 Linq2Nibernate 和 IQueryable 进行界面设计

使用 Linq2Nibernate 时最好让你的 Repository 返回一个 IQueryable?

我的理解是,如果您使用 Linq 来 Nibernate,则查询不会“触发”,直到您调用 .First() 或 Single() 等。那么从所有接口中返回 IQueryable 不是最好的,这样您就可以在表达式树触发之前构建\操作表达式树吗?

我的存储库由服务调用并从 IServicie 继承。

编辑:

首先,我真的很感谢所有的答案。但我想对这个问题补充一点。我赞成这个设计。我不完全理解围绕测试的保留意见。只要在每个过滤点(即每个过滤点)都测试该过程,那么我真的看不出有太大的区别。

添加:

如果您的存储库不返回 IQuerrable,那么使用 Linq2Nibernate 有什么意义吗?

0 投票
3 回答
527 浏览

c# - 为每个项目中的字段分配值的扩展方法?

我本可以发誓已经为 Queryable 类构建了一个扩展方法,但我找不到,但也许我在想一些不同的东西。

我正在寻找类似的东西:

en.Foreach() 必须执行:

这已经写了吗?如果没有,是否可以编写所述扩展方法,最好允许任何 LINQ 表和该表上的任何字段。从哪里开始是个好地方?

0 投票
2 回答
976 浏览

c# - Linq to Sql:向结果添加附加数据

在这里遇到了奇怪的情况。尝试在某个位置(纬度/经度)的特定范围内从 sql 数据库中提取汽车,然后返回一个 IQueryable 以在结果集上执行附加逻辑。

QueryContactByDistance 是 SQL 数据库中的一个函数,QueryAllCars 只返回数据库中的所有汽车。

我现在的问题是:如何将距离(i.Distance)附加到汽车?我不想选择新车{距离 = i.Distance, Id = car.Id, ... }。但是如何将这个附加值附加到汽车对象上呢?

0 投票
5 回答
4144 浏览

c# - 执行 IQueryable 查询的一部分并将其余部分推迟到 Linq for Objects

我有一个 Linq 提供程序,它成功地从我选择的数据源中获取数据,但是现在我有了过滤的结果集,我想做的是允许 Linq to Objects 处理表达式树的其余部分(对于诸如联接之类的事情,投影等)

我的想法是,我可以通过 ExpressionVisitor 将包含 IQueryProvider 的表达式常量替换为结果集 IEnumerable,然后返回该新表达式。还从我的 IQueryable 返回 IEnumerable 的提供程序...但这似乎不起作用:-(

有任何想法吗?

编辑:这里有一些很好的答案,但给出的形式......

在我的提供者中,我可以轻松地从客户和订单中取回 2 个结果集,如果数据来自 SQL 源,我只需构造并传递 SQL Join 语法,但在这种情况下,数据不是来自 SQL 源,所以我需要在代码中进行连接...但正如我所说我有 2 个结果集,并且 Linq to Objects 可以进行连接...(以及后来的投影)只需替换表达式常量MyProv.Table<Customer>MyProv.Table<Order>使用List<Customer>andList<Order>并让List<>提供者处理表达式……这可能吗?如何?

0 投票
5 回答
2570 浏览

c# - 如何访问 IQueryable 中的连续元素目的?

我需要访问 IQueryable 对象中的当前和上一个元素。如果我有一个 int 数组,我会执行以下操作:

我不知道对 IQueryable 做同样的事情,因为它没有实现 IList。

0 投票
4 回答
814 浏览

c# - IQueryable 中的 HtmlEncode 字符串而不更改绑定数据

我将 ASP.NET 控件绑定到 LINQ 查询的结果。我想在绑定到控件之前对包含的对象的属性之一进行 HtmlEncode,但我想在不更改数据的情况下这样做,因为我稍后会执行 DataContext.SubmitChanges()。如何才能做到这一点?

不起作用的代码:

0 投票
3 回答
18100 浏览

c# - 返回 IQueryable或不返回 IQueryable

我有一个将我的 LINQ to SQL Data Context 包装起来的存储库类。存储库类是包含所有数据层逻辑(以及缓存等)的业务线类。

这是我的 repo 界面的 v1。

但是为了处理 FindAll 的分页,我正在讨论是否公开 IQueryable<ILocation> 而不是 IList 以简化分页等情况的接口。

从数据仓库中公开 IQueryable 的优缺点是什么?

很感谢任何形式的帮助。

0 投票
5 回答
150111 浏览

c# - 将 IQueryable<> 类型对象转换为 List类型?

我有IQueryable<>对象。

List<>我想用选定的列将其转换为new { ID = s.ID, Name = s.Name }.

已编辑

马克你是绝对正确的!

但我只能访问FindByAll()Method (因为我的架构)。

它给了我整个对象IQueryable<>

而且我有严格的要求(为选择标签创建 json 对象)只有list<>两个字段的类型。

0 投票
3 回答
1819 浏览

.net - 重构 LINQ IQueryable 表达式以删除查询的重复部分

我有一些冗余的 linq 查询我想分解出一段代码。这些是 IQueryable 的连接 experssions,重要的是我不会使查询在没有重构的情况下被更早地评估。

这是一个简化的查询:

我要考虑的是“给定订单,购买的第一个产品是什么”的逻辑。我在其他查询中使用相同的逻辑。如何将其分解为共享方法?

通常,对于代码重用和 IQueryables,我能够做的是接受 IQueryable 并生成 IQueryable/IOrderedQueryable 作为输出的代码。使用这些函数,我可以使用可重用代码构建 LINQ 表达式,这些代码仍然推迟查询,直到查询完全构造。在这里,因为我只有一个 int(orderID),所以我不确定如何使它工作。

谢谢