问题标签 [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.
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”类型。
}
c# - 使用 Linq2Nibernate 和 IQueryable 进行界面设计
使用 Linq2Nibernate 时最好让你的 Repository 返回一个 IQueryable?
我的理解是,如果您使用 Linq 来 Nibernate,则查询不会“触发”,直到您调用 .First() 或 Single() 等。那么从所有接口中返回 IQueryable 不是最好的,这样您就可以在表达式树触发之前构建\操作表达式树吗?
我的存储库由服务调用并从 IServicie 继承。
编辑:
首先,我真的很感谢所有的答案。但我想对这个问题补充一点。我赞成这个设计。我不完全理解围绕测试的保留意见。只要在每个过滤点(即每个过滤点)都测试该过程,那么我真的看不出有太大的区别。
添加:
如果您的存储库不返回 IQuerrable,那么使用 Linq2Nibernate 有什么意义吗?
c# - 为每个项目中的字段分配值的扩展方法?
我本可以发誓已经为 Queryable 类构建了一个扩展方法,但我找不到,但也许我在想一些不同的东西。
我正在寻找类似的东西:
en.Foreach() 必须执行:
这已经写了吗?如果没有,是否可以编写所述扩展方法,最好允许任何 LINQ 表和该表上的任何字段。从哪里开始是个好地方?
c# - Linq to Sql:向结果添加附加数据
在这里遇到了奇怪的情况。尝试在某个位置(纬度/经度)的特定范围内从 sql 数据库中提取汽车,然后返回一个 IQueryable 以在结果集上执行附加逻辑。
QueryContactByDistance 是 SQL 数据库中的一个函数,QueryAllCars 只返回数据库中的所有汽车。
我现在的问题是:如何将距离(i.Distance)附加到汽车?我不想选择新车{距离 = i.Distance, Id = car.Id, ... }。但是如何将这个附加值附加到汽车对象上呢?
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<>
提供者处理表达式……这可能吗?如何?
c# - 如何访问 IQueryable 中的连续元素目的?
我需要访问 IQueryable 对象中的当前和上一个元素。如果我有一个 int 数组,我会执行以下操作:
我不知道对 IQueryable 做同样的事情,因为它没有实现 IList。
c# - IQueryable 中的 HtmlEncode 字符串而不更改绑定数据
我将 ASP.NET 控件绑定到 LINQ 查询的结果。我想在绑定到控件之前对包含的对象的属性之一进行 HtmlEncode,但我想在不更改数据的情况下这样做,因为我稍后会执行 DataContext.SubmitChanges()。如何才能做到这一点?
不起作用的代码:
c# - 返回 IQueryable或不返回 IQueryable
我有一个将我的 LINQ to SQL Data Context 包装起来的存储库类。存储库类是包含所有数据层逻辑(以及缓存等)的业务线类。
这是我的 repo 界面的 v1。
但是为了处理 FindAll 的分页,我正在讨论是否公开 IQueryable<ILocation> 而不是 IList 以简化分页等情况的接口。
从数据仓库中公开 IQueryable 的优缺点是什么?
很感谢任何形式的帮助。
c# - 将 IQueryable<> 类型对象转换为 List类型?
我有IQueryable<>
对象。
List<>
我想用选定的列将其转换为new { ID = s.ID, Name = s.Name }
.
已编辑
马克你是绝对正确的!
但我只能访问FindByAll()
Method (因为我的架构)。
它给了我整个对象IQueryable<>
而且我有严格的要求(为选择标签创建 json 对象)只有list<>
两个字段的类型。
.net - 重构 LINQ IQueryable 表达式以删除查询的重复部分
我有一些冗余的 linq 查询我想分解出一段代码。这些是 IQueryable 的连接 experssions,重要的是我不会使查询在没有重构的情况下被更早地评估。
这是一个简化的查询:
我要考虑的是“给定订单,购买的第一个产品是什么”的逻辑。我在其他查询中使用相同的逻辑。如何将其分解为共享方法?
通常,对于代码重用和 IQueryables,我能够做的是接受 IQueryable 并生成 IQueryable/IOrderedQueryable 作为输出的代码。使用这些函数,我可以使用可重用代码构建 LINQ 表达式,这些代码仍然推迟查询,直到查询完全构造。在这里,因为我只有一个 int(orderID),所以我不确定如何使它工作。
谢谢