一度投稿しましたが、情報が曖昧すぎたので、やり直します。
nHibernate
/Fluent nHibernate
データベースに送信した文字列から特定の文字を切り捨てている、または「削除」しているようです。たとえば、文字列を送信するThis\nis\na\nblock\nof\ntext\n\with\nreturns
と、\n
記号はキャリッジリターンを表します。後でデータが読み戻されるとき、つまりMarkdownDeepによって解析されるときに、これらをそのままにしておく必要があります。
\n
ただし、データベースがコミットを実行すると、シンボルが具体的に「削除」されることに気付きました。私はこれまでデバッグを実行しましたISession.SaveOrUpdate(object)
が、デバッグを視覚的に追跡できるようになるまで、データが変更されていないことを確認できます。しかし、データベース内のレコードを確認すると、このシンボルが削除されています。
私String.Replace("\n","\\n"))
がテキストで使用する場合、それは実際に正しく機能します。しかし、これはすべてを保存するためのインテリジェントな方法のようには思えません。これは、どのフィールドでこの問題が発生する可能性があるかを継続的に覚えて、ロジックの中間で実行する必要があることを意味します。
nHibernate/Fluent nHibernate
このデータを削除するように強制している設定がありませんか?
デバッグされたコードパス
私のコードのパスをたどると、次のようになります。
ASP.NET MVC View (textarea) -> This\nis\na\nblock\nof\ntext\n\with\nreturns
ASP.NET MVC Model (Json) -> This\nis\na\nblock\nof\ntext\n\with\nreturns
ASP.NET MVC Controller Parameter -> This\nis\na\nblock\nof\ntext\n\with\nreturns
ISession.SaveOrUpdate -> This\nis\na\nblock\nof\ntext\n\with\nreturns
Database Record -> This is a block of text with returns
したがって、問題は明らかにISession
レベルで発生しています。