ホームページ >バックエンド開発 >C++ >LINQ to Entities で大文字と小文字を区別した比較を実行するにはどうすればよいですか?

LINQ to Entities で大文字と小文字を区別した比較を実行するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-21 17:56:10753ブラウズ

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 はラムダ式を 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。