2010-12-18 13 views
9

私はEntity FrameworkとSQL ServerでASP.NET MVCアプリケーションを構築しています。Entity FrameworkとSQL Serverは文字列に空白を追加しますか?

ncharまたはtextという種類のSQL Server列を読み取ったときに、文字列の末尾に空白が追加されることに気付きました。これを修正するには、文字列にTrim()を実行する必要がありますか?

どうすればこの問題を解決できますか?

よろしく

答えて

18

私は

NCHAR NCHAR MSにタイプの SQL列をリードバックするとき固定長であることの通知を持っています。 INSERT edまたはUPDATE edの値の方が小さい場合は、スペースが追加されます。当然あなたは余分な空白を読み返しています。

これは、データベースが空白を追加するように設定されている場合に発生します。

固定長文字列を使用しない場合は、は固定長フィールドタイプを使用しません。 NCHARの代わりにNVARCHARを使用してください。そこのVARは可変長を示します。

+0

私はこの理由を理解しようと数時間を費やしました。残りの文字を空白で埋める必要がある理由はありますか? –

関連する問題