.net - 数据表选择与 LINQ 选择

标签 .net linq ado.net datatable linq-to-objects

关于何时 的任何建议DataTable.Select 应该与 相比使用LINQ Select 处理内存数据表时?

我发现 LINQ 语法更简单、更强大,但我不确定是否存在性能或其他问题使 DataTable select 更可取。

(我使用的第三方 API 提供了一个从数据库预先填充的 DataTable。我需要在内存中进一步过滤。)

最佳答案

根据个人经验,我尽量避免使用 Datatable.Select。我发现它很慢并且有一些奇怪的错误。

我遇到的一个(由 Microsoft 确认和记录)错误是,当语句中有括号时,DataTable.Select 并不总是正确评估 AND 条件。

例如,(Col1 > 1) AND (Col < 10) 可能无法返回正确答案,
而 Col1 > 1 AND Col < 10 将正常工作。

此错误不会出现在每台计算机上。就我而言,我使用的检查在我的开发平台和除一台客户端计算机之外的每台客户端计算机上都运行良好。在我发现这个错误后,我开始转向使用 LINQ 进行选择,并注意到操作速度显着提高。

旁注:无需详细解释,我的公司不使用数据库来存储数据。 全部 我们对数据表的操作涉及从平面文件加载的内存表。所以我不是在谈论 LINQ 2 SQL,而是在谈论 LINQ to Dataset。

关于.net - 数据表选择与 LINQ 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1422015/

相关文章:

c# - 具有 azure 服务总线的公共(public)交通 : Why Messages go to the queue_skipped?

c# - .NET 中的隐式链构造函数

c# - 按名称从列表中获取条目

c# - 如果一个字段为空,我如何用 Linq 替换一个值?

c# - 表值参数的排序顺序是否保证保持不变?

c# - 如果在 WPF 4.0 中使用闪屏,带有异常详细信息的 MessageBox 会立即消失

c# - 秒表不重启

sql - Linq to WCF OData 是否适合复杂查询

c# - ASP.Net : Looking for right approach to design view model and model code

c# - 如何知道抛出 SqlException 的实际问题?