【问题标题】:Oracle Data Provider for Entity Framework Case Insensitivity实体框架不区分大小写的 Oracle 数据提供程序
【发布时间】:2013-11-11 17:37:42
【问题描述】:

一段时间以来,我一直在寻找一种方法,通过 Entity Framework 对 Oracle 进行不区分大小写的搜索,但现在没有运气。

我已经找到了一些方法,但感觉似乎没有一种方法能很好地满足我的要求。

一种解决方案是在数据库列和参数上都使用 .ToUpper,但我已经读过可能存在一些严重的速度问题,并且通过的 SQL 可能非常混乱。

另一种解决方案是将 oracle 数据库设置为 LINGUISTIC 比较,但是当我们投入生产时可能无法进行设置。

当我尝试对 currentCulutreCaseInsentive 使用 .Equals() 重载时,我收到了一个错误。

有人知道这方面的最佳做法吗?还是返回案例密集型搜索结果的好解决方案?

谢谢

【问题讨论】:

  • 您可以做的最好的事情是检查 linq 查询应用程序上的 ToUpper 是否以简单、自然的方式应用于 Oracle 查询。它应该这样做。使用 SQL Server,有许多字符串方法可以完美地转换为 T-SQL,即 StartsWith("x") 在查询中转换为 LIKE 'x%'。所以不要依赖“人们说什么”,而是“你检查什么”。

标签: c# linq oracle entity-framework


【解决方案1】:

按照 JotaBe 的建议,我在两边都坚持使用 ToUpper 命令

【讨论】:

  • 我仍然希望得到更好的答案,因为在 Oracle SQL Developer 中查询不需要正确大小写表名或列名。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-08
  • 1970-01-01
  • 2017-09-02
  • 2015-02-23
  • 1970-01-01
  • 1970-01-01
  • 2011-12-23
相关资源
最近更新 更多