2017-06-08 11 views
0

改行文字(¥n)を含むEF6の文字列をクエリするにはどうすればよいですか?たとえば、私は文字列$"Hello {Environment.Newline} World"を持っています。EF6改行文字で文字列を照会する

今、私はそれがLINQのを使用して見つけなければならないので、私は次のクエリでそれを見つけようとしている:

GetEntities<TimeEntry>().FirstOrDefault(t => t.WorkDescription == $"Hello \r\n World") 

コードを(私は特殊文字とまったく同じ文字列を使用して、それを見つけたいです)コマンド定義を実行中に発生しました「エラー :

System.Data.Entity.Core.EntityCommandExecutionException:上記の例外をスロー。詳細については、 の例外を参照してください。 内部例外:SqlException:データ型nvarcharとtextが の等しい演算子で互換性がありません。

どのように修正する必要がありますか?特殊文字を避ける可能性はありますか?

PS。 ToList()メソッドの使用には厳しい制限がありますので、できるだけ避けたい、理想的にはすべてをIQueryableを使って行う必要があります。

+1

https://stackoverflow.com/questions/2726649/the-data-types-text-and-nvarchar-are-incompatible-in-the-同等の演算子 – CodeCaster

答えて

1

LINQ呼び出しの前に文字列を作成:

string workDescription = $"Hello {Environment.Newline} World"; 
GetEntities<TimeEntry>().FirstOrDefault(t => t.WorkDescription == workDescription); 
+0

なぜですか?これはどう変わるのですか? – CodeCaster

関連する問題