【发布时间】:2008-11-04 15:15:27
【问题描述】:
好吧,我越用 LINQ,我就越喜欢它!我最近发现自己在工作中使用一些遗留代码。它是您经典的 DataSet 和 DataTable 丰富的应用程序。好吧,当添加一些功能时,我发现自己真的只想查询 DataTable 的行以获得我正在寻找的结果。
让我重复一遍……我只是想向 Rows 集合询问我需要什么,而不是循环并添加到临时集合中。没有循环,没有临时变量,只要给我我想要的。
var customerOrderIds = table.Rows.Cast<DataRow>()
.Where(x => (string)x["CUSTOMER_ID"] == customerId)
.Select(x => (string)x["CUSTOMER_ORDER_ID"])
.Distinct();
我的问题是,这是否是一件好事,还是被 LINQ 冲昏了头脑? 在我看来,这种从集合中提取数据子集的声明式风格确实是一件好事,最终更具可读性。但话又说回来,也许我只是被迷住了:)
【问题讨论】: