C# EF6查询具有换行符的字符串
如何查询EF6中包含换行符(\n)的字符串?例如,我有一个字符串C# EF6查询具有换行符的字符串,c#,entity-framework,linq,entity-framework-6,C#,Entity Framework,Linq,Entity Framework 6,如何查询EF6中包含换行符(\n)的字符串?例如,我有一个字符串$“Hello{Environment.Newline}World” 现在我必须使用Linq来查找它,所以我尝试使用以下查询来查找它:(我想使用带有特殊字符的完全相同的字符串来查找它) GetEntities().FirstOrDefault(t=>t.WorkDescription==$“Hello\r\n World”) 上面的代码引发了一个异常: System.Data.Entity.Core.EntityCommandEx
$“Hello{Environment.Newline}World”
现在我必须使用Linq来查找它,所以我尝试使用以下查询来查找它:(我想使用带有特殊字符的完全相同的字符串来查找它)
GetEntities().FirstOrDefault(t=>t.WorkDescription==$“Hello\r\n World”)
上面的代码引发了一个异常:
System.Data.Entity.Core.EntityCommandExecutionException:'错误
执行命令定义时发生。看内在
细节例外。”
内部异常:SqlException:数据类型nvarchar和text是
在等于运算符中不兼容
那么我们应该如何修复它呢?有没有可能避免使用特殊字符
另外,使用ToList()方法有一个很强的限制,我们希望尽可能避免它,理想情况下,所有操作都应该使用IQueryable完成。在linq调用之前构造字符串:
string workDescription = $"Hello {Environment.Newline} World";
GetEntities<TimeEntry>().FirstOrDefault(t => t.WorkDescription == workDescription);
string workDescription=$“Hello{Environment.Newline}World”;
GetEntities().FirstOrDefault(t=>t.WorkDescription==WorkDescription);
为什么?这会改变什么?这将如何实现?
string workDescription = $"Hello {Environment.Newline} World";
GetEntities<TimeEntry>().FirstOrDefault(t => t.WorkDescription == workDescription);