【发布时间】:2014-08-03 11:13:05
【问题描述】:
是否可以在纯 LINQ-to-entities 中使用 String 的 Contains() 方法而不考虑锐度?
例子:
table Messages --------------------------- MessageId Body 1 Hello John how are you 2 Hi Jóhn sup? ...
我想要这个查询:
var messages = db.Messages.Where(p => p.Body.Contains("John"));
不仅第一条消息返回给我,第二条消息也返回给我。
如果这不是正确的方法(包含),那是哪一种?
我正在使用 SQL Server。
另外,这里有一个类似但不同的问题: Ignoring accented letters in string comparison
这是不同的,因为他正在尝试比较两个字符串(“Equals”或“CompareTo”),...而我正在尝试使用“Contains”
【问题讨论】:
-
你在使用 sql server 吗?
-
@user1994514 我看到了这个问题并且完全不同......“等于”与“包含”不同
-
@sports 所以你宁愿看这个,它是“linq to entity”友好的:查看字段排序部分:stackoverflow.com/a/8144930/961526
-
@sports 好吧,我宁愿说“以 AI 结尾的排序规则”(不是每个人都使用 SQL_Latin1...),或者如果您还希望不区分大小写,则使用 CI_AI。 (CI = 不区分大小写,AI = 不区分重音)
标签: linq entity-framework linq-to-entities full-text-search string-search