关于何时 的任何建议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/