Я ищу структуру проверки, и хотя я уже использую NHibernate, я думаю об использовании NHibernate.validator из проекта contrib, однако я также смотрю на блок проверки MS, который кажется надежным, но я еще не вдавался в подробности каждого из них, поэтому Интересно, был ли кто-нибудь в этих двух фреймворках и каково это?





Как насчет D) Ничего из вышеперечисленного. Я помню, как оценивал это в прошлом году и решил перейти на платформу проверки Spring.NET.
Если вы используете NHibernate, вы, вероятно, захотите также использовать возможности Spring.NET для использования NHibernate.
По большей части я бы сказал, что Spring.NET довольно независим. Это означает, что это не должно заставлять вас переделывать архитектуру. Вы можете использовать столько, сколько хотите. Должно быть довольно легко написать объект, который вы можете внедрить в классы, требующие проверки, с помощью Spring. Затем вы должны подключить этот объект в замке, чтобы взять имя «Группы проверки» или «Валидаторы», которые вам нужны, а затем заставить spring вводить валидаторы в этот объект, где ваша форма / бизнес-объект / служба затем будут использовать валидаторы.
Вот ссылка на документ, проверка - раздел 12:
http://www.springframework.net/docs/1.2.0-M1/reference/html/index.html
Вы просто используете Castle или монорельс?
NHibernate Validator не требует, чтобы вы использовали NHibernate для сохранения. Использование может быть таким простым, как:
var engine = new ValidatorEngine();
InvalidValue[] errors = engine.Validate(someModelObjectWithAttributes);
foreach(var error in errors)
{
Console.WriteLine(error.Message);
}
Конечно, он может подключиться к NHibernate и предотвратить сохранение недействительных объектов, но вы также можете использовать его для проверки непостоянных объектов.
Конечно, вы можете попробовать написать свой собственный фреймворк для валидации. Например, Карл Сегин поможет вам:
http://codebetter.com/blogs/karlseguin/archive/2009/04/26/validation-part-1-getting-started.aspx
http://codebetter.com/blogs/karlseguin/archive/2009/04/27/validation-part-2-client-side.aspx
http://codebetter.com/blogs/karlseguin/archive/2009/04/28/validation-part-3-server-side.aspx
Отличное решение :)