问题标签 [linq-to-dataset]

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 回答
10653 浏览

c# - LINQ to DataSet 按多列分组 - 方法语法

我的问题与之前提出的两个问题相同

LINQ TO DataSet: Multiple group by on a data table,与这个问题的唯一区别是我需要使用方法语法来做到这一点。

LINQ Group By Multiple fields - 语法帮助- 这个问题的不同之处在于我需要使用 LINQ-to-DataSet 来执行此操作。

我正在尝试按国家/地区对客户进行分组,结果(预期)如下:

我们如何做到这一点?谢谢你。

编辑:

这是我正在努力解决的混乱代码。

0 投票
6 回答
78129 浏览

c# - DataTable 不包含 AsEnumerable 的定义

使用 linq 查询数据表返回以下错误:CS0117: 'DataSet1.map DataTable' does not contain a definition for 'AsEnumerable'

项目包括 System.Data.Datasetextensions 的参考。

这是代码。

在没有 AsEnumerable() 的情况下运行它会导致

CS1660:无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型

在此先感谢您的帮助

0 投票
2 回答
1520 浏览

c# - 如何使用 LINQ to DataSet 过滤集合

我正在使用一个DataSet包含两个表的表,我试图通过 LINQ 从中获取数据。

我正在努力弄清楚如何返回满足条件的记录的语法。

例子:

下面是两张表:

FooBar 项目

FooBar 数据

此查询连接两个表(项目 Z 将被过滤掉)

这是从上述查询派生的集合。

FooBar 项与 FooBar 数据连接

问题:如何仅退回 Foo 项目?

请注意 Foo 项目如何在其第一行/记录中具有非空值,而 Bar 项目在第一行/记录中没有非空值。使用所有 Foo 项在 foo 列中至少有一个非空值并且 Bar 项在 foo 列中永远不会有非空值这一事实,我如何更新上述查询以使查询仅返回 Foo 项? 同样,如何更新查询以使其仅返回 Bar 项目?

0 投票
2 回答
2847 浏览

c# - 如何通过不包含在数组中的值过滤 DataTable?

如果我有一个 DataTable userwidget,它有以下列:

process_id、emp_num、widget_color

如何根据以下条件DataTable进行过滤:LINQ


1-在哪里emp_num = ...

2和process_id NOT IN (process)//process is an array of intgers

0 投票
2 回答
1807 浏览

c# - LINQ 查询中 DateTime 为空的转换问题

这是我在 linq 查询中使用的数据表的配置:我有 2 个数据集文件(所有表的所有列都指定了 DataType,并且它们的 AllowDbNull 属性设置为 True): * deposit_position_imbalance.xsd:包含 2 个数据: - 不平衡 - ImbalanceDetailForRealTime * dep_pos_imbalance_detail.xsd:包含 1 个数据表: - 表

在下面的代码中,问题在于 2 行“deal_date = b.deal_date”。实际上,当我从数据库 b.deal_date 检索具有空值时,它在 deposit_position_imbalance.Designer.cs 中显示:“StrongTypingException 未被用户代码处理”“表 'ImbalanceDetailForRealTime' 中列 'deal_date' 的值是 DBNull。 " “指定的演员阵容无效”。这是它引发错误的地方:

  • 我试图将“deal_date = b.deal_date”行替换为“deal_date = (DateTime?)b.deal_date”,但出现 2 个编译错误:“dep_pos_imbalance_detail.TableDataTable.AddTableRow(string, System. DateTime)' 有一些无效的参数”和“参数 '2': 不能从 'System.DateTime?' 转换” 到'System.DateTime'"
  • 我还尝试将“deal_date = b.deal_date”行替换为“deal_date = b.deal_date == null ? (DateTime)DBNull.Value : b.deal_date”但我收到编译错误:“无法转换类型'System .DBNull' 到 System.DateTime'"
  • 然后我尝试用“deal_date = b.deal_date == null ?(DateTime?)DBNull.Value:b.deal_date”替换“deal_date = b.deal_date”行但我收到编译错误:“无法转换类型' System.DBNull' 到 System.DateTime?'"
  • 我尝试了另一件事:将“deal_date = b.deal_date”替换为“deal_date = b.Isdeal_dateNull() ? default(DateTime?) : b.deal_date” 但同样,我有以下错误:“最好的重载方法匹配dep_pos_imbalance_detail.TableDataTable.AddTableRow(string, System.DateTime)' 有一些无效参数”和“参数 '2':不能从 'System.DateTime 转换?' 到 'System.DateTime'" 下图(抱歉,我还不允许在 stackoverflow 中插入图像,所以我放了链接)显示了我的数据集中的列 deal_date 的定义: https://lh5.googleusercontent。 com/-TEZZ9Hdnkl4/T1aRxF_i7II/AAAAAAAAAAg/BwzrVXIlOHE/s323/deal_date.jpg 我们可以看到我似乎没有可能设置“System.DateTime?” 但只有“System.DateTime”。而且我不想要除了 null 作为默认值之外的任何其他值(我们是否必须放置默认值“”以外的其他内容才能使其工作?)更新->我尝试使用 null 而不是设计师给出了这个错误:“字符串未被识别为有效的日期时间。从索引 0 开始有一个未知单词。”。

所以我不明白我怎么能设法检索空值(我没有把它放在代码中,但我对 double 类型有同样的问题)。我的印象是我的列设置为启用空值,但显然不是......此外,当我尝试修改 NullValue 属性以从“(抛出异常)”到“(空)”或“(空)”时,设计者给出这个错误:“输入的值对当前数据类型无效。” 感谢您的帮助。这是我的 LINQ 查询:

0 投票
2 回答
1498 浏览

c# - c#中数据集的Linq查询?

我有数据集,其中包含两个这样的表:

如何将以下 SQL 查询写入 LINQ

0 投票
1 回答
1559 浏览

vb.net - 如何在此 linq 查询中放置 Sum()?

我正在寻找总结“状态”字段。

我还想将其保留为 DataRow 的 IEnumerable,因为我将使用它创建一个数据表

0 投票
1 回答
441 浏览

.net - LINQ:查询返回空对象列表

我有一个“选择”类型对象的查询:

发生的事情是,如果我为的构造函数设置断点Foo和步骤,构造函数被命中并且参数被加载参数。但是,l有空Foo对象(每个对象中的成员都是Nothing)。这里会发生什么?

0 投票
1 回答
797 浏览

c# - linq 作为列名的数据集问题

如何避免在针对数据表的 LINQ 查询中使用魔术字符串?

这有效:

但这失败了“指定的演员表无效。”:

我的偏好是使用本地字符串(或 myDictionary 的直接引用),而不是对字符串进行硬编码。所以我想在查询中使用字符串 disp 而不是短语“display”。

0 投票
2 回答
283 浏览

linq - 加入 LINQ 以避免在“new {}”中显式命名属性?

我想做这样的事情:

我目前得到的最接近的是以下内容:

我希望我的结果 (q) 包含来自 c 和 j 的所有列。c 和 j 都包含很多列,所以我不想这样列出它们:

但我基本上希望最终的 DataTable 由 c.* 和 j.* 组成。

如果我在“select new”中指定所有 c 和 j 列,则此答案(不是已接受的答案,而是其下方的答案)有效: 如何将 LINQ 结果转换为 DATATABLE? 但我想避免将它们全部列出。