0

キャリッジリターンに問題があるので、テキスト領域のあるWebページがあります。レポートの場合、このテキスト領域に書き込んだ人の数を数える必要があります。これらの人は、SQLテーブルの呼び出しsellとcolumnnoteに保存されます。

だからlinqで私はします

var count_notes = Vmsb.Sell.Where(v => !(v.Note == null || v.Note.Trim() == string.Empty)).Count();

Vmsbは私のdbcontextです

問題は、メモにキャリッジリターンまたは「\ r \ n」がある場合、それがカウントされ、それが私が望むものではないことです。

生成するSQLは次のようなものです

SELECT count(note) FROM [dbo].sell AS v WHERE (( NOT (v.[nota] IS NULL OR N'' = (LTRIM(RTRIM(v.[nota])))))

だからどうすれば「\r\n」を数えないようにできますか

4

1 に答える 1

1

L/RTRIMSQLでは改行文字が削除されないという事実に気づいていませんでした。私が考えることができる唯一の方法は

v.Note.Trim().Replace("\r", "").Replace("\n", "")

(申し訳ありませんが、ブライス、これを書いたときにあなたのコメントを見ませんでした)

もちろん、これらの「空の」文字列のような入力がデータベースに入るのを防ぐ方がはるかに簡単です。クリーンアップアクションとゲートキーパーのアプリケーションへの追加を検討します。

于 2013-03-22T23:16:11.800 に答える