2013-07-31 20 views
2

我正在使用实体框架,并将一个UserUserNamePassword)添加到数据库表中。该表具有UserName列(nchar(20))和被散列的Password列(varchar(50))。当从实体框架中检索数据库行时出现空白

当我从数据库中检索用户时发生此问题。返回的用户名在末尾用空白填充(直到填充了20个字符)。我已经使用Trim()方法临时解决了这个问题,但是这似乎是不切实际的,因为我需要对从数据库返回的每一列执行此操作。

另一种解决方案是什么?

谢谢!

+2

你应该**不要**使用固定长度的类型'CHAR(n)'或'NCHAR(n)'为长度大于5,6个字符的任何东西;它们对于ISO国家或货币代码这样的东西都很好,但对于其他任何东西,使用可变长度的'VARCHAR(n)'或'NVARCHAR(n)' - 它们没有用定义长度的空格填充 - 它们只存储真正需要的东西。这是**基本的数据库设计101 ** - 它与Entity Framework完全没有任何关系! –

回答

7

如果您希望列避免多余的空格,您必须将列转换为nvarchar。我个人不喜欢使用char(n)列来表示不是固定长度的值。 否则,你必须继续修剪

相关问题