2011-07-17 1 views
2

永続オブジェクトのプロパティの長さを検証するのに最も便利な場所はどこですか?保存可能なオブジェクトのプロパティの長さを検証するのに最も便利な場所はどこですか?

たとえば、CountryCode nvarvhar(3)を持つDbにCountryというテーブルがあります。

そして、私はDbに保存することができるCountryCodeプロパティを持つCountryオブジェクトを持っています。

ユーザによって設定された国コードは3つの文字超えていない場合、私がチェックする必要があり

:不動産国番号

  • またはDB
  • への保存時ののセッターで

    • をアドバイスをお願いしますか?

      おかげ

    答えて

    1

    私は、(正しいデータ型の)任意の値にプロパティを設定し、保存する前に検証するのが最も簡単であることを発見しました。

    私は、.Netに組み込まれている検証属性を使いたいと思います。これにより、プロパティに関連付けられたロジックが保持されます。あなたが求めていることのためのトリックを行うべきであるStringLengthAttributeクラスがあります。

    属性はSystem.ComponentModel.DataAnnotations名前空間にあります(同じ名前のアセンブリを参照する必要があります)。

    MVCとEntityFrameworkには、データの検証方法が組み込まれています。あなた自身でロジックを実行する必要がある場合は、次のコードを参考にしてください。

    +0

    私には、永続性レイヤー関連の問題に属するので、保存前にDbスキーマベースの制約を検証することも意味があります。一方、私はこれをビジネスレイヤベースのルール(ビジネスロジックベースのルールを考えてみましょう)と照合しなければならないと思います。だから、よいアプローチは、BUSINESS LOGICベースのルールをまず検証して、保存直前にPersistence Layer関連のルールを検証することができます。 – pencilCake

    1

    コード安全なアーティスト同士のコラボレーションによると、すべてのチェックが可能な限り早期に実施すべきです。さらに、各当事者は、他の当事者の検証に頼ることなく、単独でチェックを実行することが推奨されます。

    関連する問題