2012-12-12 2 views
1

데이터베이스 (nvarchar)에 일부 텍스트를 저장하는 WPF MVVM 응용 프로그램이 있습니다. 이 텍스트에는 새 줄을 나타내는 \n이 포함됩니다. SQL Management Studio에서 열을 보면 예상대로 \n이 표시되지만 Entity Framework를 사용하여 데이터를 검색하면 \\n이 반환되어 내 텍스트 블록에 속성을 바인딩 할 때 줄 바꿈이 표시되지 않습니다.데이터베이스에서 검색 할 때 문자 인코딩

어떻게하면이 동작을 멈출 수 있습니까?

몇 가지 추가 정보 : 텍스트는 DB에서 돌아 오면 다음 TextBlock에 바인딩 된 뷰 모델의 속성에 할당됩니다. 속성을 "Time \ nStamp"와 같은 것으로 하드 코딩하면 두 개의 별도 라인에 데이터를 표시하는 텍스트 블록과 완벽하게 작동합니다. 문제는 엔터티 또는 DB에있는 것 같습니다. SQL 서버 2012 btw를 사용하고 있습니다.

+1

나는 혼란 스럽다. '\ n' (으)로,'\ n' (으)로 표시되어'\ n' (으)로서 취득됩니다. 네가 묻는 것을 얻지 못한다. 질문을 명확히 할 수 있습니까? –

+1

죄송합니다. StackOverflow가 도움이되고 나를 위해 원하지 않는 포맷을 추가하기를 원한다는 것을 알았습니다. – ChrisO

+1

데이터를 직접 표시 하시겠습니까? 아니면 먼저 뭔가를합니까? –

답변

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.