我正在构建一个依赖旧遗留系统的程序。 我特别是在POCO /持久性不可知模型类上编写自定义CRUD存储库。
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 Validate方法?
提前谢谢, 史蒂夫答案 0 :(得分:2)
我认为使用注释进行验证是一种很好的做法。一些常见的框架,如ASP.NET MVC,Entity Framwork使用它。 您可以使用Validator类来验证带注释的对象。
我建议您构建一个小框架来集成注释框架和系统类。