我想使用Entity Framework 5来搜索我的一个表。我不知道查询中有多少个单词,但我想匹配所有这些单词。使用实体框架搜索数据库。 LIKE运算符
查询= 你好
SELECT * FROM [table] WHERE [column] LIKE '%hello%'
查询= 的hello world
SELECT * FROM [table] WHERE [column] LIKE '%hello%' AND [column] LIKE '%world%'
我知道函数PATINDEX,但它不工作不够好。为什么?我会告诉你:
SELECT * FROM person WHERE PATINDEX('%test%.com%', email)>0
将匹配“[email protected]”,但如果搜索词是有序的其他方式,也不会找到这个人:
SELECT * FROM person WHERE PATINDEX('%.com%test%', email)>0
是什么使用EF创建此查询的最有效方法?
这将生成“select * from where where列LIKE'hello'”。 (CAST(CHARINDEX(N'%'+ @ p__linq__1 + N'%',[Extent1]。[column])AS int))> 0) –
@ stian.net为什么?你会添加'%'吗? –
@Bob,因为我想搜索.. LIKE'test'不会返回包含'test'的列 –