Database 从实体框架检索数据库行时的空白
我正在使用实体框架,并将Database 从实体框架检索数据库行时的空白,database,entity-framework,whitespace,padding,trim,Database,Entity Framework,Whitespace,Padding,Trim,我正在使用实体框架,并将用户(用户名和密码)添加到数据库表中。此表有一个UserName列(nchar(20))和一个Password列,该列是散列的(varchar(50)) 当我从数据库中检索用户时,就会出现问题。返回的用户名在末尾用空格填充(直到填充了20个字符)。我已经使用Trim()方法暂时解决了这个问题,但是考虑到我需要对从数据库返回的每个列执行此操作,这似乎不切实际 另一个解决方案是什么 谢谢 如果希望列避免额外的空格,则必须将列转换为nvarchar。我个人不喜欢对长度不固定的值
用户
(用户名
和密码
)添加到数据库表中。此表有一个UserName
列(nchar(20)
)和一个Password
列,该列是散列的(varchar(50)
)
当我从数据库中检索用户时,就会出现问题。返回的用户名在末尾用空格填充(直到填充了20个字符)。我已经使用Trim()
方法暂时解决了这个问题,但是考虑到我需要对从数据库返回的每个列执行此操作,这似乎不切实际
另一个解决方案是什么
谢谢 如果希望列避免额外的空格,则必须将列转换为nvarchar。我个人不喜欢对长度不固定的值使用char(n)列。
否则,您必须继续修剪您不应将固定长度类型
CHAR(n)
或NCHAR(n)
用于可能超过5、6个字符的任何长度;它们适用于ISO国家或货币代码,但对于其他任何东西,都可以使用可变长度VARCHAR(n)
或NVARCHAR(n)
-它们没有按定义的长度填充空格-它们只存储真正需要的内容。这是基本的数据库设计101-它绝对与实体框架无关!varchar(n)列也会发生这种情况。我必须将所有varchar(n)列更改为nvarchar(n),以避免出现空白。