2011-04-08 57 views
0

我正在構建一個依賴舊的遺留系統的程序。 我特別是在POCO /持久性不可知模型類上編寫了一個自定義CRUD存儲庫。在我自己的持久框架中使用DataAnnotations和Validation?

EX(簡體):

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驗證方法可以驗證模型對象?

在此先感謝, 史蒂夫

回答

2

我認爲這是使用註釋進行驗證一個很好的做法。一些常見的框架,如ASP.NET MVC,Entity Framwork使用這個。 您可以使用Validator類來驗證註釋對象。

我建議你構建一個小框架來集成註釋框架和系統類。

+0

比我想象的要容易;)thx – 2011-04-08 09:47:04