我有一些文字,
e.g
line one \r\n
line two \r\n
line threee.
在我的数据库中,我有一个列定义为类型text
,然后我使用Entity Framework来映射该列,由Entity Framework生成的代码是类型string
我可以将该文本成功保存到数据库的列中。但是,从Management Studio,我看不到那些行分隔符,当我复制值并粘贴到记事本时,它们已成为一行文本。
任何人都知道问题是什么?
感谢。
答案 0 :(得分:3)
问题在于Management Studio不支持所有字符。它会在复制值时删除换行符。
如果您将结果从网格更改为文本(查询 - >结果到 - >结果到文本,或 ctrl + T ),并选择值,你会看到文本是单独的行。
答案 1 :(得分:0)
这可能只是管理工作室的一个问题。尝试从C#查询数据库并打印字段的值。如果CRLF存在,您将立即看到。
答案 2 :(得分:0)
在存储文本数据时,您应该坚持使用NVarchar(其中一个原因是它支持更多字符)。 这是msdn的摘录:
“将在Microsoft SQL Server的未来版本中删除ntext,text和image数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。使用nvarchar( max),varchar(max)和varbinary(max)改为“。
更多信息: