首页 >后端开发 >C++ >如何使用 LINQ to Entities 执行区分大小写的比较?

如何使用 LINQ to Entities 执行区分大小写的比较?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-21 17:56:10811浏览

How to Perform Case-Sensitive Comparisons with LINQ to Entities?

LINQ to Entities 大小写敏感比较详解

以下LINQ to Entities查询:

<code class="language-c#">Thingies.First(t => t.Name == "ThingamaBob");</code>

由于LINQ to Entities 将lambda表达式转换为SQL语句,因此不会执行大小写敏感的比较。SQL Server默认使用的SQL_Latin1_General_CP1_CI_AS排序规则不区分大小写。

服务器端解决方案

要启用大小写敏感比较,请使用以下SQL命令将Thingies表中Name列的排序规则更改为COLLATE Latin1_General_CS_AS:

<code class="language-sql">ALTER TABLE Thingies ALTER COLUMN Name VARCHAR(25) COLLATE Latin1_General_CS_AS</code>

客户端解决方案

或者,您可以使用LINQ to Objects执行大小写敏感比较,但这效率较低:

<code class="language-c#">Thingies.Where(t => t.Name == "ThingamaBob")
        .AsEnumerable()
        .First(t => t.Name == "ThingamaBob");</code>

以上是如何使用 LINQ to Entities 执行区分大小写的比较?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn