问题标签 [linqpad]

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 投票
1 回答
2424 浏览

c# - 嵌套 linq 查询中的“无效列名 [ColumnName]”

最后更新

经过大量测试后,我意识到如果我在 SQL 2000 和 SQL 2005 上对同一个数据集(在本例中为 Northwind)表运行相同的查询,我会得到两个不同的结果。在 SQL 2000 上,我得到了问题中的错误。在 SQL 2005 上,它成功了。

所以我得出结论,linqpad 生成的查询在 sql 2000 上不起作用。要重现这一点,请运行:

在 sql 2000 中的 Northwind DB 上。 sql 翻译是:

原始问题

我有以下查询:

结果是:

我已经确定它与对 Timestamp 的最后一个查询有关,因为它有效:

查询已被简化。目的是按一组变量进行分组,然后显示该分组最后一次在 db 中发生的时间。

我正在使用 Linqpad 4 生成这些结果,因此 Timestamp 给了我一个字符串,而 FirstOrDefault 给了我不理想的整个对象。

更新
在进一步的测试中,我注意到 SQLException 的数量和类型与 groupby 子句中创建的类有关。所以,

结果是

0 投票
1 回答
1483 浏览

c# - Max(x=>x.Time) vs OrderByDescending(x=>x.Time).First().Time

我提出了一个相关问题:
嵌套 linq 查询中的“列名无效 [ColumnName]”

我正在尝试按照此处的要求获取组的第一行:
Linq - 每个组的最高值

但是,我使用 Max 的方法与接受的答案不同。我是这样做的:

这会导致错误SqlException: Invalid column name 'ID'

现在当我使用 Max 函数时:

它返回我想要的时间列表。

我的理解是它们是不同但等效的调用。为什么我在第一次调用时收到 sql 错误?

更新
为第一个查询生成的 sql 查询如下所示:

我设法减少它但保持相同的错误:

Update2
一些答案说这些查询在逻辑上是不同的,但是,如果你在北风表上做这样的事情,它会产生相同的结果:

因此,我不能接受 3 个答案中的任何一个,即查询不同,或者 Max 给出的是 Sum 而不是列表的最大值,或者您必须在继续之前将 IQueriable 转换为列表。

0 投票
2 回答
1525 浏览

c# - 如何阻止 linqpad 显示写入 Debug.Writeline 的语句的输出?

Linqpad 似乎将一个侦听器放入 debug.listeners 集合中,然后将跟踪的输出与查询本身的任何结果一起显示到结果窗口。

有没有办法告诉 linqpad 不要这样做,而是单独留下现有的 debug.listeners 集合?

我有一个从 linqpad 调用的程序集,它将跟踪写入一个单独的应用程序,但似乎 linqpad 清除了侦听器并将其放入,理想情况下,我希望现有的侦听器保持完整,这样我就可以正常跟踪了的图书馆。

感谢您的任何建议

0 投票
2 回答
4823 浏览

c# - Linq . 使用 LinqPad 选择方法问题

我无法理解为什么在以下代码中出现错误。我确定我缺少一些简单的东西,但我需要帮助理解。

我一直在使用 LinqToSql 在 LinqPad 中运行此代码。

我在 LinqPad 中有以下代码:

涉及三个表:Shipments、ShipmentDetails 和 ShipmentWeights。所有三个表都由 shippingID 链接,它是 Shipments 表的 PK。

在此代码中,最终查询(“权重”)失败并出现错误:“不支持的异常:不支持具有本地集合的查询。” 我收集到 LinqToSql 中的某些内容不支持使用 .Contains 但我不明白名为“详细信息”的查询是如何工作的。对我来说,这似乎是同一种查询。有人可以为我填补空白吗?

对于不熟悉 LinqPad 的人来说,.Dump 方法只是 IQueryable 上的一个扩展方法,它以格式化的方式打印出内容。

0 投票
2 回答
3000 浏览

wpf - 在 LinqPad 中创建 WPF 示例

有没有办法在 LinqPad 中理智地实例化 WPF 对象?这是我的示例(在查询中添加了正确的程序集等):

然而,这是一个可怕的死亡:

关于如何让它工作的任何线索?

0 投票
3 回答
10933 浏览

c# - Visual Studio 中的 LINQPad

这些行允许我将代码从 LINQPad 复制到 VS 并运行它而无需使用 .Dump() 注释掉每一行,但这还不够...... http://code.google.com/p/linqpadvisualizer/ - 不太舒服: (

我在 VS 中搜索 LINQPad 得到的最好结果是这个网站,下面是 Pat Kujawa 的代码。

但错误 1 ​​当前上下文中不存在名称“LINQPad”

我在网上找不到任何 LINQPad.dll

0 投票
2 回答
536 浏览

c# - 在 linqpad 中转储静态属性

上面的代码会将新创建的对象和列表a作为属性转储,但不会列出b或嵌套静态结构C或其中的任何内容。
如果我有很多自动生成的静态属性,我该如何转储所有内容?

0 投票
2 回答
871 浏览

root - linqpad 中的根类

LinqPad 中定义的类是 UserQuery 的嵌套内部类。有没有办法声明作为根类的类?

0 投票
1 回答
478 浏览

c# - linq to sql:指定 JOIN 而不是 LEFT OUTER JOIN

鉴于我有三张桌子,车辆,汽车,自行车。Cars 和 Bikes 都有一个 VehicleID FK 链接回 Vehicles。

我想计算所有像这样的汽车。

但是,这将为我提供所有车辆行,并将 null 放在车辆类型为 Bikes 的行中。
我正在使用 linqpad 来执行此操作并看到 sql 语句我意识到它这样做的原因是因为在 x.Car 连接上它在车辆和汽车之间执行了 LEFT OUTER JOIN,这意味着它将返回所有车辆。如果我将查询更改为仅使用 JOIN,那么它会按预期工作。

有没有办法告诉 linq 使用这种类型的语法进行连接?最终我想做类似的事情:

但是由于这个错误:

我最终这样做:

0 投票
1 回答
1112 浏览

linq - LinqPad 和实践中两个 Linq 查询之间的性能问题

我有一个查询:

在 LinqPad 中,查询的运行时间大约为 0.3 秒。STARS_RouteStopDestination 表中大约有 800K 条记录,但平均返回大约 30-90 条记录。

实际上,从该查询返回结果的方法需要 4 多秒!这没有任何意义。

我唯一能想到的是 .Any 子句花费了很多时间,但 LinqPad 说查询很快。我设置了一个测试(请原谅名称):

输出让我大吃一惊:
原始拍摄:00:00:04.0270000
实体拍摄:00:00:00.0200000

为什么带有 .Any 子句的查询需要更长的时间才能运行,为什么 LinqPad 会说原始查询比针对同一数据集的实体查询运行得稍快一些?