0

所以我有回车问题我有一个有文本区域的网页,对于一个报告,我需要计算有多少人在这个文本区域中写入保存在 sql 表调用销售和列注释中

所以我用 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/RTRIM在 SQL 中不会删除换行符。我能想到的唯一方法是

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

(对不起,布莱斯,写这篇文章时没有看到你的评论)

当然,阻止像这些“空”字符串这样的输入进入数据库要容易得多。我会考虑清理操作并向应用程序添加一个看门人。

于 2013-03-22T23:16:11.800 回答