在linq中使用Trim()会使它运行得更慢

时间:2013-08-11 06:09:18

标签: c# linq linq-to-sql

我正在为一些课程做一个Linq的例子,我需要给一些学习C#的军人。他们给了我一个数据库,并让我提出一些问题,例如

ArmedVehicles.Where(x => x.vCommandingUnit.Equals("North"))
.Select(x => new {
  vCommander = x.vCommander,
  vLocation = x.vLocBase,
  vType = x.vType});

问题是字段vCommandervLocBase用空格填充,当我使用.Trim()时,它需要更多时间(大约5-8秒)我无法向他们展示这个缓慢的例子。

当然,当我和他们交谈时,我会说要修复数据库,但是现在我需要一个更快的Linq所以我的例子不会让我看起来很糟糕

2 个答案:

答案 0 :(得分:2)

如果您的文字仅在右侧填充空格,则可以使用TrimEnd()代替Trim()

请记住,在DataContext中加载14k记录几乎总是一个坏主意。通常,如果不需要修改对象跟踪,则可以禁用对象跟踪(请参阅DataContext对象的ObjectTrackingEnabled属性。

答案 1 :(得分:0)

以您需要检索的格式存储数据库中的VCommanderVLocaBase字段(无填充)。