我有一个WPF MVVM应用程序,它将一些文本存储在数据库中(nvarchar)。此文本包含\n
以表示新行。当我在SQL Management Studio中查看该列时,它会按预期显示\n
,但是当使用Entity Framework检索数据时,它会返回\\n
,这会导致在我出现时不显示换行符将属性绑定到我的textblock。
如何阻止此行为?
其他一些信息: 文本从DB返回并被分配给viewmodel上的属性,然后绑定到textblock。如果我将属性硬编码为类似“Time \ nStamp”的内容,则它与在两个单独的行上显示数据的文本块完美配合。这个问题似乎只存在于实体或数据库中。我正在使用SQL Server 2012 btw。
答案 0 :(得分:2)
从C# Obeying the NewLine Character in a String Pulled from SQL server开始,当您从SQL检索字符串时,存储在数据库中的值将存储为文字。检索\n
时,它将作为文字读入字符串值,而不是新行转义字符。
str.Replace("\\n", Environment.NewLine); // Changes the escaped new line character to a NewLine character, environmental dependent.