问题标签 [asqueryable]

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 投票
3 回答
34065 浏览

c# - 使用 LINQ 查询 DataColumnCollection

我正在尝试对 DataTable 的 Columns 属性执行简单的 LINQ 查询:

但是,我得到的是:

找不到源类型“System.Linq.IQueryable”的查询模式的实现。未找到“选择”。考虑明确指定范围变量“c”的类型。

如何让 DataColumnCollection 与 LINQ 配合使用?

0 投票
1 回答
596 浏览

linq-to-sql - 存储过程使用连接从一个表中选择所有字段

在处理与跳过扩展的多对多关系时,我对 linq to sql 感到非常沮丧。它不允许我使用连接查询。不确定 SQL Server 2005 的情况,但我目前使用的是 SQL Server 2000。

现在我考虑编写一个存储过程来获取一个与两个表匹配的表,例如 Album_Photo (Album->Album_Photo<-Photo) 和 Photo 表,并且只需要 Photos 数据,所以我将专辑的 ID 与 Album_Photo 匹配并使用该 ID以匹配照片。在存储过程中,我只是获取所有连接的数据。之后在 linq to sql 中,我创建了一个新的 Album 对象。

例如

我使用 AsQueryable 将结果作为 IQueryable 而不是 IEnumerable。后来我想对集合做点什么,它给了我这个错误:

System.InvalidOperationException:不能多次枚举查询结果。

0 投票
1 回答
1197 浏览

asp.net-mvc-2 - ASP.NET MVC - 缓存 IQueryable 数据

我发现了这个问题如何在 MVC 应用程序中缓存数据,我想知道是否能够将此方法与 IQueryable 数据一起使用。

我可以将其更改为

0 投票
1 回答
615 浏览

winforms - 使用 CheckedListBoxItemCollection.AsQueryable().Provider.CreateQuery(

我需要查询具有 CheckedListBoxItemCollection 的 winforms 控件(CheckedListBoxControl ,我想查询CheckedListBoxItem的属性“Value”内的某个Id

更新:

为什么说 Visual Studio 找不到它的 IEnumerable 或 IEnumberable 命名空间?当我改用“var”时,我可以编译我的代码。但是我公司的老板禁止我使用var...

0 投票
0 回答
652 浏览

dynamic-linq - 试图使任何类型的 IEnumerable 成为 AsQueryable,所以我可以使用 Dynamic Linq

我不知道我的 Enumerable 包含什么类型,并且我正在尝试将其设为 AsQueryable,因此我可以使用 Dynamic Linq。例如:

我设置了一个测试程序(如下)来尝试一些事情,但我似乎无法弄清楚如何去做。我收到异常“对象”类型中不存在属性或字段“AddressId”

它出现在 Dynamic.cs 中,在方法 Expression ParseMemberAccess(Type type, Expression instance)

使用 System.Linq.Dynamic;

在直接窗口中,q1、q2、q3、q4 看起来都一样 - EnumerableQuery 知道类型......

{System.Collections.Generic.List 1[TestAsQueryable.Address]} base {System.Linq.EnumerableQuery}: {System.Collections.Generic.List1[TestAsQueryable.Address]}

0 投票
1 回答
1293 浏览

c# - 如何为 XmlAttributeCollection 编写 LINQ 语句?

我总是混淆 AsQueryable、AsEnumerable。我应该什么时候使用它们?我应该使用 AsQueryable 创建一个 LINQ 语句来根据 xml 或 AsEnumerable 的属性进行过滤吗?

0 投票
3 回答
28615 浏览

c# - 我真的需要在收集时使用 AsQueryable() 吗?

示例代码:

但是如果我将查询更改为

这也有效并产生相同的结果,那么有什么区别?

0 投票
1 回答
631 浏览

extension-methods - IQueryable vs IEnumerable...扩展方法

说真的,我必须错过一些简单的东西。任何帮助将不胜感激。

下面是场景: 1) 创建一个名为 DoSomething 的 IQueryable 扩展方法,并带有适当的签名(IQueryable、int x、int y)。2) 创建一个名为 DoSomething 的 IEnumerable 扩展方法,使用与 IQueryable 相同的签名,除了接受/返回 IEnumerable 而不是 IQueryable。3) 在 IEnumerable 扩展方法中,将 enumerable 转换为 Queryable (AsQueryable) 并尝试调用 IQueryable.DoSomething 方法。

出于某种原因,上述方案似乎对 IEnumerable 扩展方法而不是 IQueryable 进行了递归调用。我不明白为什么。

我了解 IQueryable 扩展了 IEnumerable;但是,.NET 扩展似乎可以检测并正常工作。例如, variable.AsQueryable().Take(1) 将至少通过智能感知(和 ReSharper)调用 Queryable 扩展,而不是 Enumerable 扩展。当我自己编写时,它似乎不起作用,并创建了一个无限循环。

0 投票
3 回答
19658 浏览

c# - 如何将 Lambda 表达式转换为 Sql?

我正在开发一个小框架来访问数据库。我想添加一个使用 lambda 表达式进行查询的功能。我该怎么做呢?

例如:

0 投票
1 回答
335 浏览

linq - 业务逻辑层中的 AsQueryable() - 不好的做法?(我想是的,但是....)

比如说我有(伪代码):

public IEnumerable<User> GetUsers(string name)在我的实体框架的数据访问层中,目前它.ToList()在返回之前执行,从而确保我的业务逻辑层不会干扰我的数据访问层。

但是,我需要在我的业务逻辑层对此稍有不同的变化,例如我需要更少的数据(例如,只需要用户 ID 或进一步过滤它)。

为了拥有一个高效的数据库层,我想要另一种方法返回数据的子集(重载方法或其他方法)。

但是,我可以“作弊”并省略 ToList(),而我的业务逻辑层最后添加了 AsQueryable()。因此,我的业务逻辑层能够操作创建的底层 sql。

人们对业务逻辑层中的 AsQueryable() 有何看法?在我看来,这是对我的数据访问层的泄漏抽象,但它可能非常方便,也许是因为它位于 LINQ 命名空间(而不是 EF 命名空间)中,所以使用它并不是那么糟糕?


编辑

需要注意的一些有用的东西(以及反对省略 ToList() 的论点)是,如果调用它的代码以前依赖 ToList() 进行数据绑定,即避免错误“数据直接绑定到存储查询(DbSet、DbQuery、不支持 DbSqlQuery)。” 你不会得到一个编译时错误,只是一个运行时错误。因此,您需要确保在 UI 层之前确实调用了 ToList()。