'[email protected]'
をクライアント側から入力として渡しますが、バックエンドのEFは値を'[email protected]'
に変換していますコマンドを実行する前に_
の前に~
がある)。 EFがこのようにしている理由を助けてくれますか?Entity Frameworkが入力値を '〜'文字の前に '〜'を付けて更新する理由
答えて
_
は、LIKE
式の1文字の一致に使用される特殊文字であるため、EFはエスケープ文字として~
を追加しています。 %
文字についても同じことが行われます。
私は
IDbCommandInterceptor
を継承し、DBCommand
の値は、あなたがSQLをインターセプトする場合は、次のように対応するLIKE
が見えるはずです
を持っているかどうか確認するためにReaderExecuting
を使用:
WHERE ... AND t1.EmailField LIKE @p1 ESCAPE `~`
'LIKE'を生成する' string'に 'Contains'を使用しているのは私の推測です。これが当てはまらない場合は、私の答えを削除します。 – dasblinkenlight
はい.. **私のLink to entityに** contains **を使用しています。だからあなたは私の入力に%または_を使用すると、EFは〜とエスケープを〜を付け加えます。 – Satish
@Satishはい、そうです。確認するには '%'を使ってみてください。 EFによって生成されたSQLをキャプチャする方法を知っていますか? – dasblinkenlight
- 1. Entity Framework 6の更新にAttachを使用する理由
- 2. JSON文字列の前にダブルスラッシュを付ける理由
- 3. Entity Framework 4.0挿入/更新
- 4. ASP.NET MVC(Entity Framework)の接続文字列を更新します。
- 5. 名前を入力して最初に姓と頭文字の頭文字を付けます
- 6. Entity Frameworkのデータの更新
- 7. Entity Frameworkのユニークキーの更新
- 8. 私のパスワードが大文字で小文字で受け入れる理由
- 9. Entity Frameworkによるインデックス付け
- 10. Entity Frameworkの更新DbContext
- 11. Entity Framework 6 - データベースの更新
- 12. Entity Frameworkの更新コンテキスト?
- 13. ASP.NET Entity Frameworkの更新データ
- 14. Entity Frameworkでマスターディテールを挿入/更新する方法は?
- 15. Entity Frameworkでuint enumsが無視される理由
- 16. Entity Framework:フィールドをNULL値に更新しますか?
- 17. Entity Framework 4.0挿入前の文字列を自動的に切り捨てる/トリムする
- 18. @EntityでPOJOに注釈を付ける必要がある理由
- 19. 空白文字を削除し、値を更新する前に更新規則
- 20. Entity Framework 4.1デタッチシナリオカスケード更新
- 21. Entity-Framework自動更新
- 22. コードFirst Entity Framework - 接続文字列を変更する
- 23. Entity Framework 4カスケード更新?
- 24. Entity Framework(6.1.3)はどのようにICollectionsに名前を付けますか?
- 25. java.lang.NumberFormatException:入力文字列: "null" ..理由がわかりません
- 26. Entity Frameworkによる更新C#
- 27. フォームからの入力が受け付けられない理由
- 28. Entity Frameworkのコードファーストと接続文字列
- 29. Entity Framework DateTime列 - GetDate()値挿入
- 30. Entity Frameworkテーブル名が複数の理由は何ですか?
あなたは何を意味するのか'値を変換する'?これはいつ起こるのですか? Entity Frameworkはデフォルトでこれを実行していません。それは百万の異なるものになる可能性があります。なぜあなたはそれがEFだと思いますか? – nbokmans
該当する場合は、SQLの翻訳とともに、完全な照会を提供してください。 – dasblinkenlight
エンコーディングが異なる可能性がありますか? UTF8/UTF16の代わりに古いISOコードページを使用しているシステムを使用している可能性があります。 –