Entity Frameworkコア-大文字と小文字を区別するか、区別しないかを含む

001:

Entity Frameworkコアの「含む」は、SQLの%like%演算子と同等です。したがって、「次を含む」は大文字と小文字を区別しませんが、大文字と小文字を区別します。(少なくともpostgresでは????)

以下は、キーワードの正しい大文字小文字が使用されている場合にのみ結果を出力します。

context.Counties.Where(x => x.Name.Contains(keyword)).ToList();

何が悪いのですか?

DarkUrse:

以前のバージョンのEFコアがこれに該当していました。現在string.Containsは大文字と小文字が区別され、sqliteの例ではsqlite関数 `instr() 'にマッピングされます(postgresqlではわかりません)。

大文字と小文字を区別しない方法で文字列を比較する場合は、ジョブを実行するDbFunctionsがあります。

context.Counties.Where(x => EF.Functions.Like(x.Name, $"%{keyword}%")).ToList();

@Gertへの更新:

質問の仮定の一部が正しくありません。efコアバージョン<= 1.0(そうだと思う)の場合にstring.Contains使用されていたLIKE expressionとしても、変換されません

  • SQLServer string.containsに変換CHARINDEX()において、オラクルのSQLiteinstr()DBまたは列照合が他に定義されない限り、デフォルトによって、大文字と小文字が区別されている(ここでも、Iは、PostgreSQLのためわかりません)。
  • すべての場合においてEF.Functions.Like()LIKEdbまたは列の照合が別の方法で定義されていない限り、デフォルトでは大文字と小文字を区別しないSQL 式に変換されます。

つまり、すべて照合に行き着きますが、コードが大文字と小文字を区別する/区別しない検索に、上記の方法のどれを使用するかに応じて影響を与える可能性があるという点で-私が間違っている場合は修正してください。

今、私は完全に最新ではないかもしれませんが、EFコアの移行はDB照合を自然に処理するとは思わないため、テーブルを手動で作成していない場合は、デフォルトの照合になります(sqliteと正直なところ、他の人にはわからない)。

元の質問に戻ると、将来のリリースで3ではない場合でも、この大文字と小文字を区別しない検索を実行するには、少なくとも2つのオプションがあります。

  1. このトリックを使用して、DbContext.OnModelCreating()を使用して作成時に列の照合を指定します
  2. あなたの置き換えstring.ContainsによるとEF.Functions.Like()
  3. または、まだ議論されている有望な機能を待つEF.Functions.Collate()関数

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Entity Frameworkコア-大文字と小文字を区別するか、区別しないかを含む

分類Dev

Entity Frameworkコア-大文字と小文字を区別するか、区別しないかを含む

分類Dev

Entity Framework6コード最初の大文字と小文字を区別しない文字列の関連付け

分類Dev

Entity Framework Core Cosmos Db-大文字と小文字を区別せずに文字列を比較する方法は?

分類Dev

Entity Framework7のテーブルとプロパティの大文字と小文字を区別しない名前

分類Dev

Entity Framework Code Firstを使用して、SQLテーブルの主キーで大文字と小文字を区別するように定義します

分類Dev

LinuxからWindows共有ファイルにアクセスする(大文字と小文字を区別しない)

分類Dev

キーワードに一致し、大文字と小文字を区別しない(大文字と小文字を区別しない)既存のリストからアイテムのリストを取得するにはどうすればよいですか?

分類Dev

Entity Framework LINQには、大文字と小文字が区別されません

分類Dev

文字列を大文字と小文字を区別せず、アクセントを区別しない方法と比較する方法

分類Dev

ef core 2で大文字と小文字を区別しないコンテンツを作成するにはどうすればよいですか?

分類Dev

大文字と小文字を区別しない方法でファイルをHDFSにコピーする方法

分類Dev

検索コマンドから大文字と小文字を区別しない検索?

分類Dev

このAWKコマンドで大文字と小文字を区別しないようにするにはどうすればよいですか?

分類Dev

Discordのボットコマンドで大文字と小文字を区別しないようにするにはどうすればよいですか?

分類Dev

lftpオートコンプリートの大文字と小文字を区別しないようにするにはどうすればよいですか?

分類Dev

このコードで大文字と小文字を区別しないようにするにはどうすればよいですか?

分類Dev

Azure Blobストレージコンテナー名で大文字と小文字を区別しないようにすることはできますか?

分類Dev

Bashでタブのオートコンプリートで大文字と小文字を区別しないようにすることはできますか?

分類Dev

Laravel 5:コレクションを属性で並べ替える大文字と小文字を区別しない方法はありますか?

分類Dev

Railsアプリで検索で大文字と小文字を区別しないようにする

分類Dev

Linuxコマンドラインを使用して、特定のタイプ(* .txt)内のファイル名にxyz(大文字と小文字を区別しない)などの部分文字列を含むすべてのファイルを検索するにはどうすればよいですか?

分類Dev

大文字と小文字を区別しない明示的な順序付けグアバ

分類Dev

Postgresql 9.6を使用するDjangoで、大文字と小文字を区別せず、アクセントを区別しないように並べ替える方法は?

分類Dev

Vim:大文字と小文字を区別しないexコマンド補完

分類Dev

Pythonのcmd.Cmd大文字と小文字を区別しないコマンド

分類Dev

汎用辞書の大文字と小文字を区別しないアクセス

分類Dev

PostgreSQLアクセント+大文字と小文字を区別しない検索

分類Dev

大文字と小文字を区別しないPowerQueryソースアイテム

Related 関連記事

  1. 1

    Entity Frameworkコア-大文字と小文字を区別するか、区別しないかを含む

  2. 2

    Entity Frameworkコア-大文字と小文字を区別するか、区別しないかを含む

  3. 3

    Entity Framework6コード最初の大文字と小文字を区別しない文字列の関連付け

  4. 4

    Entity Framework Core Cosmos Db-大文字と小文字を区別せずに文字列を比較する方法は?

  5. 5

    Entity Framework7のテーブルとプロパティの大文字と小文字を区別しない名前

  6. 6

    Entity Framework Code Firstを使用して、SQLテーブルの主キーで大文字と小文字を区別するように定義します

  7. 7

    LinuxからWindows共有ファイルにアクセスする(大文字と小文字を区別しない)

  8. 8

    キーワードに一致し、大文字と小文字を区別しない(大文字と小文字を区別しない)既存のリストからアイテムのリストを取得するにはどうすればよいですか?

  9. 9

    Entity Framework LINQには、大文字と小文字が区別されません

  10. 10

    文字列を大文字と小文字を区別せず、アクセントを区別しない方法と比較する方法

  11. 11

    ef core 2で大文字と小文字を区別しないコンテンツを作成するにはどうすればよいですか?

  12. 12

    大文字と小文字を区別しない方法でファイルをHDFSにコピーする方法

  13. 13

    検索コマンドから大文字と小文字を区別しない検索?

  14. 14

    このAWKコマンドで大文字と小文字を区別しないようにするにはどうすればよいですか?

  15. 15

    Discordのボットコマンドで大文字と小文字を区別しないようにするにはどうすればよいですか?

  16. 16

    lftpオートコンプリートの大文字と小文字を区別しないようにするにはどうすればよいですか?

  17. 17

    このコードで大文字と小文字を区別しないようにするにはどうすればよいですか?

  18. 18

    Azure Blobストレージコンテナー名で大文字と小文字を区別しないようにすることはできますか?

  19. 19

    Bashでタブのオートコンプリートで大文字と小文字を区別しないようにすることはできますか?

  20. 20

    Laravel 5:コレクションを属性で並べ替える大文字と小文字を区別しない方法はありますか?

  21. 21

    Railsアプリで検索で大文字と小文字を区別しないようにする

  22. 22

    Linuxコマンドラインを使用して、特定のタイプ(* .txt)内のファイル名にxyz(大文字と小文字を区別しない)などの部分文字列を含むすべてのファイルを検索するにはどうすればよいですか?

  23. 23

    大文字と小文字を区別しない明示的な順序付けグアバ

  24. 24

    Postgresql 9.6を使用するDjangoで、大文字と小文字を区別せず、アクセントを区別しないように並べ替える方法は?

  25. 25

    Vim:大文字と小文字を区別しないexコマンド補完

  26. 26

    Pythonのcmd.Cmd大文字と小文字を区別しないコマンド

  27. 27

    汎用辞書の大文字と小文字を区別しないアクセス

  28. 28

    PostgreSQLアクセント+大文字と小文字を区別しない検索

  29. 29

    大文字と小文字を区別しないPowerQueryソースアイテム

ホットタグ

アーカイブ