繁体   English   中英

EF6查询带有换行符的字符串

[英]EF6 Querying for the string with newline character

如何查询EF6中包含换行符(\\ n)的字符串? 例如,我有一个字符串$"Hello {Environment.Newline} World"

现在,我必须使用Linq来找到它,所以我尝试通过以下查询来找到它:(我想使用带有特殊字符的完全相同的字符串来找到它)

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

上面的代码引发异常:

System.Data.Entity.Core.EntityCommandExecutionException:'执行命令定义时发生错误。 有关详细信息,请参见内部异常。 内部异常:SqlException:数据类型nvarchar和text在等于运算符中不兼容。

那么我们应该如何解决呢? 是否有可能避免使用特殊字符?

PS。 使用ToList()方法有一个严格的限制,我们希望尽可能避免使用它,理想情况下,所有操作都应使用IQueryable完成。

在linq调用之前构造字符串:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM