从数据库检索时的字符编码

时间:2012-12-12 20:14:29

标签: c# wpf entity-framework

我有一个WPF MVVM应用程序,它将一些文本存储在数据库中(nvarchar)。此文本包含\n以表示新行。当我在SQL Management Studio中查看该列时,它会按预期显示\n,但是当使用Entity Framework检索数据时,它会返回\\n,这会导致在我出现时不显示换行符将属性绑定到我的textblock。

如何阻止此行为?

其他一些信息: 文本从DB返回并被分配给viewmodel上的属性,然后绑定到textblock。如果我将属性硬编码为类似“Time \ nStamp”的内容,则它与在两个单独的行上显示数据的文本块完美配合。这个问题似乎只存在于实体或数据库中。我正在使用SQL Server 2012 btw。

1 个答案:

答案 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.