保存到数据库时字符串末尾的空格字符

时间:2012-06-22 08:03:35

标签: c# linq sqldatatypes

我的表格中有一个nvarchar(50)字段。例如,当我使用12 character Length保存字符串时,它会使用50 character length保存字符串。实际上它在字符串的末尾添加了一个空格字符。我应该选择其他数据类型吗?

tmp_Person.NameFamily = txt_NameFamily.Text.Trim();
PersonKBBSHDataContext.PersonInfos.InsertOnSubmit(tmp_Person);
PersonKBBSHDataContext.SubmitChanges();

当我在表格的NameFamily字段中直接保存字符串(在SQL Server中)时,一切都很好。

4 个答案:

答案 0 :(得分:2)

我有同样的问题。从Mapping类中的Nvarchar属性中删除.IsFixedLength()并解决了我的问题。

Me.Property(Function(t) t.Description).IsFixedLength().HasMaxLength(500)

替换为

Me.Property(Function(t) t.Description).HasMaxLength(500)

答案 1 :(得分:1)

如果使用实体框架,请在您的NVarchar字段上将Fixed Length属性设置为true

您仍然可以使用Trim,但这只是为了“修复”textBox.Text值而与数据库无关。

答案 2 :(得分:1)

我发现了问题。我刚刚在.dbml文件中添加了我的表格,一切都很顺利。

答案 3 :(得分:-2)

使用此Trim(txt_NameFamily.Text)