4

ASP.NETMVCWebアプリケーション内でEntityFrameworkCode Firstを使用しています。このアプリケーションでは、顧客が文字列の最後に空白を追加するという悪い習慣があります。

明らかTrim()に問題を解決するための正しい答えですが、プロジェクト全体ですべてをトリミングすることを忘れないでください。これは正しいことではありません。いくつか掘り下げて、ASP.NET MVCを見つけました:データ入力後に文字列をトリミングするための最良の方法。カスタムモデルバインダーを作成する必要がありますか?カスタムモデルバインダーを作成しましたが、モデルがバインドされると、アプリケーションの各ページの読み込みでパフォーマンスが低下するのではないかと心配しています。SaveChanges()物事はデータベースにトリミングされて保存されるため、いわゆるトリミングが最もパフォーマンスの高い方法のようです。

だから私の質問は、SaveChanges()すべての追加および変更されたオブジェクトをオーバーライドして取得し、ObjectContext次にリフレクションを使用してすべての文字列をここで行うのが正しいことですか?それとも、モデルバインダーは正しい方法ですか?

4

1 に答える 1

5

パフォーマンスを気にしすぎだと思います。モデル バインダーは問題なく、アプリケーション全体で正確に実行します。

MVC フレームワークは非常に大きく、追加のモデル バインダーは大きなオーバーヘッドではありません。

また、トリムを防止しなければならないケースも見つかりました。したがって、特定のフィールドを除外できるモデル バインダーは完璧でした。

モデル バインダーは標準の MVC 動作です。DBレベルでそれを行うと、非表示になります。

だから私だったら、ModelBinder でやります。

于 2013-03-21T17:21:21.507 に答える