如何在 ef core 2 中使 contains 不区分大小写?

2024-01-09

我正在尝试通过搜索字符串过滤列表。它说在蓝色注释的文档中 https://learn.microsoft.com/en-us/aspnet/core/data/ef-mvc/sort-filter-page that:

  • IQueryable 为您提供了数据库提供程序的实现Contains.
  • IEnumerable为您提供 .NET Framework 实现Contains
  • SQL Server 实例的默认设置不区分大小写。
  • Using ToUpper应避免进行显式的不区分大小写的调用,因为它会降低性能。

我的过滤如下:

IQueryable<ApplicationUser> customers = 
    from u in _context.Users
    where (u.Customer != null && u.IsActive)
    select u;

if (!string.IsNullOrEmpty(searchString))
{
    customers = customers.Where(s => s.Email.Contains(searchString));
}

然而,这个解决方案区分大小写,我真的不明白为什么:因为我正在使用IQueryable,它应该使用数据库提供程序实现,默认情况下不区分大小写,对吧?

我正在使用 EF Core 2,当前仅运行本地 MSSQLLocalDB。


从 EF Core 2.1 版本开始,您可以使用 HasConversion()。但数据库中的信息会以小写形式存储:

builder.Property(it => it.Email).HasConversion(v => v.ToLowerInvariant(), v => v);

我解决了类似的问题。这个改变解决了我所有的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ef core 2 中使 contains 不区分大小写? 的相关文章

  • 列中差异的数量

    我想检索一列每行中有多少个字母的差异 例如 如果您有一个值 test 而另一行有一个值 testing 则 test 和 testing 之间的差异为 4 个字母 该列的数据值为 4 I have reflected about it an
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何使从 C# 调用的 C(P/invoke)代码“线程安全”

    我有一些简单的 C 代码 它使用单个全局变量 显然这不是线程安全的 所以当我使用 P invoke 从 C 中的多个线程调用它时 事情就搞砸了 如何为每个线程单独导入此函数 或使其线程安全 我尝试声明变量 declspec thread 但
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • C# - 当代表执行异步任务时,我仍然需要 System.Threading 吗?

    由于我可以使用委托执行异步操作 我怀疑在我的应用程序中使用 System Threading 的机会很小 是否存在我无法避免 System Threading 的基本情况 只是我正处于学习阶段 例子 class Program public
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 使用 where 进行 select 语句时,HSQLDB 用户缺乏权限或未找到对象错误

    我的数据库使用 SQuirrel SQL 客户端版本 3 5 3 和 HSQLDB 我已经能够为其指定相应的驱动程序 内存中 并创建一个别名 我创建了一个表 CREATE TABLE ENTRY NAME VARCHAR 100 NOT N
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • DotNetZip:如何提取文件,但忽略zip文件中的路径?

    尝试将文件提取到给定文件夹 忽略 zip 文件中的路径 但似乎没有办法 考虑到其中实现的所有其他好东西 这似乎是一个相当基本的要求 我缺少什么 代码是 using Ionic Zip ZipFile zf Ionic Zip ZipFile
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使

随机推荐

  • 如何验证是否在被测系统(不是模拟)上调用方法

    我正在尝试编写一个单元测试 需要确认是否调用了某个方法 我正在使用 JUnit Mockito 和 PowerMock public class Invoice protected void createInvoice random stu
  • 抗锯齿算法?

    我正在创建纹理并希望对它们进行抗锯齿处理 我可以访问每个像素的颜色 鉴于此我如何对整个纹理进行抗锯齿 Thanks 抱歉 真正的抗锯齿并不在于从邻居那里获取平均颜色 如上所述 毫无疑问 这会柔化边缘 但它不是抗锯齿而是模糊 真正的抗锯齿无法
  • 在 SQL Server 中使用文本限定符批量插入

    我在尝试着bulk insert来自 CSV 文件的表测试中的几条记录 CREATE TABLE Level2 import wkt varchar max area VARCHAR 40 BULK INSERT level2 import
  • PhoneGap Facebook 插件

    我正在使用phonegap 2 4 和最新的facebook 插件做一个项目 https github com phonegap phonegap facebook plugin https github com phonegap phon
  • Windows 中相当于 ln -s <目标文件夹> <链接文件夹> unix 符号链接命令的是什么?

    我尝试按照以下教程为 Twilio 和 App Engine 库创建程序环境 https developers google com appengine articles twilio https developers google com
  • AED (Î.å ) 货币符号使用问题。它向左移动

    在我的应用程序中 我需要显示货币换算 For eg 1 0 015 同样 我想显示从 AED 到 USD 的转换 当我尝试时 转换方程变得扭曲 1 0 99 符号 采用从右到左的脚本 阿拉伯语 其中每个字符都是强从右到左的 而数字和 符号是
  • 通用包装器的行为方式与包装类型相同

    include
  • 具有自动调整大小的自动填充行的 CSS 网格

    我想创建一个项目网格 在每行上放置尽可能多的项目 它应该 自动调整列大小以适合其元素 自动添加 删除列以适合容器 实际上 我正在寻找一个具有自动调整列大小和自动调整列大小的表number列 弹性盒与flex wrap对我不起作用 因为列不会
  • jQuery 在 Tab 键按下后设置焦点

    我试图在按 TAB 键后将焦点设置到特定文本框 页面上只有一个文本框 看起来很简单 status keydown function e if e which 9 statuses html this value this value sta
  • ImportError:无法导入名称标准化

    我尝试使用 django i18n 因此必须安装 gettext 现在 每当我尝试启动我的应用程序时 我都会遇到这个尴尬的错误 Traceback most recent call last File var www mydjangopro
  • 在 Watir 中查找具有特定类的 div 列表

    页面上有 n 个具有相同类名的 div div class errors div div class errors Foo is invalid div 我们想要做的是检查并查看是否有任何带有 error 类的 div 具有消息 Foo i
  • 当大于页面宽度时将父级 div 扩展到子级尺寸

    父 div 必须完全包含子 div 的内容 由于一种奇怪的情况 该子 div 可能比页面视图本身更宽 问题是 父 div 似乎总是受到页面宽度的限制 无论它包含什么 http jsfiddle net e5Lkq 1 http jsfidd
  • 当 Android 中的 Firebase 数据库中的数据发生更改时,将数据发送到应用程序 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在构建一个应用程序 当 Firebase 实时数据库中的数据发生更改时 我希望为用户生成推送通知 我想知道使用 Firebase
  • SwiftUI 卡翻转有两个视图

    我正在尝试在两个 SwiftUI 视图之间创建卡片翻转效果 单击原始视图时 它会像翻转卡片一样在 Y 轴上 3D 旋转 并且第二个视图应在 90 度后开始可见 Using rotation3DEffect 我可以轻松旋转视图 问题是anim
  • 软件包升级后,Pip 在 Ubuntu 14.4 上损坏

    我试图在 EC2 ubuntu 14 4 实例上升级 python requests 包 执行此操作后 我运行并没有抛出错误 pip freeze and got ubuntu ip 172 31 28 196 pip freeze Tra
  • 将 ExecutorService 与多线程版本的合并排序结合使用

    我正在解决一个家庭作业问题 我必须创建一个多线程版本的合并排序 我能够实现它 但我无法停止线程的创建 我研究过使用 ExecutorService 来限制线程的创建 但我不知道如何在当前代码中实现它 这是我当前的多线程合并排序 我们需要实施
  • 将 SQL Server 2000 安全地暴露在 Internet 上

    我有一个 SQL Server 2000 机器 我想将其放在 Internet 上 以便开发人员无需 VPN 访问即可进行远程连接 最安全的方法是什么 这可能是暂时的 例如每隔一段时间 但这绝对是必要的 Thanks Rob 简短的回答 不
  • 将长字符串分割成多个字符串SQL

    所以基本上我希望将一根长绳子切成小块 但保持单词完整 因此 如果我在 JumpColumn 列中的 FoxTable 中有以下句子 棕色狐狸跳过了懒狗 然后懒狗跳过了棕色狐狸 我想在 SQL 中将其拆分为最多 20 个字符 包括空格 所以结
  • 生成网页的合理时间是多少?

    我正在开发网络应用程序 基于 Rails 3 我真的不喜欢生成页面所需的时间 根据显示的数据 它需要长达 2 5 秒甚至 4 秒 所以我只是想知道在应用程序中生成页面的平均合理时间是多少 假设您检查生成时间 例如这是 750 毫秒 然后想
  • 如何在 ef core 2 中使 contains 不区分大小写?

    我正在尝试通过搜索字符串过滤列表 它说在蓝色注释的文档中 https learn microsoft com en us aspnet core data ef mvc sort filter page that IQueryable 为您