如何从Linq查询中自动.Trim()空格?

时间:2011-01-13 21:38:40

标签: linq string linq-to-sql whitespace trim

如何从Linq2SQL查询的结果中自动.Trim()空格?

似乎如果SQL的varchar宽度为255,则“abc”的返回结果将包含252个空格字符。

3 个答案:

答案 0 :(得分:3)

尝试以字符串形式投射:

(string)abc.Trim()

答案 1 :(得分:2)

正在使用char(255)而不是varchar(255)吗?

如果没有,请检查数据库中的数据 - 您必须将所有这些空格存储在列中。 Linq-to-sql只会将列作为字符串返回。它不会用空格填充它,只会返回252个空格(如果它们存在于您的数据库中)。您是否将所有这些空间存储在数据库中?例如"abc______________"

我首先建议您修复数据库,但如果您不能这样做,那么您可以像Exoas建议的那样编辑生成的代码。

答案 2 :(得分:0)

确保从查询中自动修剪字段的快速而肮脏的方法是修改设计器生成的getter,以获取要修剪以调用trim方法的字段。

get
{
    return this._sometext.Trim();
}

缺点是,如果更改映射,则会生成映射。