有没有一种在EF中使用LIKE的简单方法呢?

时间:2011-03-22 04:18:07

标签: entity-framework operators

类似于通过ESQL传递字符串可用...但到目前为止不是任何地方的实际操作符或方法。我发现很多文章都提出了解决方法,其中interesting我得到的例外情况最多:

  

NotSupportedException:指定的   方法'布尔类似(System.String,   System.String)'在类型上   'EF4.Extensions'无法翻译   进入LINQ to Entities商店   表达

还有什么吗? EF 4.1出局了...任何新闻或干净的选择?

2 个答案:

答案 0 :(得分:4)

在EF 4.x中,string.StartsWith,string.EndsWith和string.Contains被转换为SQL LIKE。 (虽然两者都不支持多个通配符......)

答案 1 :(得分:1)

首先,@ KristoferA对于SqlClient是绝对正确的 但此功能取决于EF Provider。例如,适用于Oracle,MySQL,PostgreSQL和SQLite的Devart提供程序在EF v1和EF v4中的StartsWith,EndsWith和Contains String方法中包含Like调用。其他提供商也可能不包含EF v4中的Like支持。