2013-07-31 19 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)列來表示不是固定長度的值。 否則,你必須繼續修剪

相關問題