2011-04-08 31 views
0

私は古いレガシーシステムに依存するプログラムを構築しています。 私は特に、POCO /永続的なアジノスティックモデルクラスを介してカスタムCRUDリポジトリを作成しています。独自の永続フレームワークでのDataAnnotationsと検証の使用

例(簡体字):

public class Company { // No dep with the legacy objects 
    public string CompanyName {get; set;} 
} 

public class CompanyRepository { // other project 
    public Company Get(ID companyID) 
    { 
     var myOldSchoolCompany = oldSystem.GetCompany(companyID.Key); 
     return new Company { CompanyName = myOldSchoolCompany.CompanyName; } 
    } 
    public Company Save(Company company) 
    { 
     var myOldSchoolCompany = oldSystem.GetCompany(companyID.Key); 
     myOldSchoolCompany.CompanyName = company.CompanyName; 
     oldSystem.Save(myOldSchoolCompany); 
    }   
} 

このコードは期待通りに働いているが、私はチェックと検証を加えることで、さらに行きたいと思います。 私は必須フィールド、範囲の検証などを持つことができる必要があります。

私はこの情報をモデル自体に追加できるDataAnnotationメカニズムが好きです。 このメカニズムを再利用することは可能ですか? モデルオブジェクトを検証できるOOB Validateメソッドがありますか?事前に

おかげで、 スティーブ

答えて

2

私はそれを検証するための注釈を使用することをお勧めだと思います。 ASP.NET MVC、Entity Framworkなどの一般的なフレームワークではこれを利用しています。 Validatorクラスを使用すると、注釈付きオブジェクトを検証できます。

アノテーションフレームワークとシステムクラスを統合するための小さなフレームワークを構築することをお勧めします。

+0

私は思ったよりも簡単です;)thx –

関連する問題