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

发布于 2024-10-26 03:57:00 字数 402 浏览 5 评论 0原文

Like 可以通过 ESQL 传递字符串来使用...但到目前为止还不能作为实际的运算符或方法。我发现了许多建议解决方法的文章,其中最 有趣的是我得到了一个例外:

NotSupportedException:指定的 方法 'Boolean Like(System.String, System.String)' 的类型 “EF4.Extensions”无法翻译 进入 LINQ to Entities 存储区 表达。

这里还有什么吗? EF 4.1 已发布...有什么消息或干净的选项吗?

Like is available via passing a string through ESQL... but not as an actual operator or method anywhere so far. I've found numerous articles suggesting work-arounds, the most interesting of which I get an exception on:

NotSupportedException: The specified
method 'Boolean Like(System.String,
System.String)' on the type
'EF4.Extensions' cannot be translated
into a LINQ to Entities store
expression.

Anything here yet? EF 4.1 is out... any news or clean options?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

本王不退位尔等都是臣 2024-11-02 03:57:02

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

First of all, @KristoferA is absolutely correct concerning SqlClient.
But this functionality depends on EF Provider. For example, Devart providers for Oracle, MySQL, PostgreSQL, and SQLite contain Like calls in the StartsWith, EndsWith and Contains String methods in both EF v1 and EF v4. Other providers may not contain Like support in EF v4 as well.

意犹 2024-11-02 03:57:01

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

In EF 4.x, string.StartsWith, string.EndsWith, and string.Contains are translated to SQL LIKE. (Although neither support multiple wildcards...)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文