Валидатор NHibernate или свободная проверка? - PullRequest
2 голосов
/ 30 ноября 2011

Я использую NHibernate. Мне нужно решить, как проверять сущности домена. Что вы порекомендуете? Есть ли проблемы при использовании NHibernate с Fluent Validation?

Ответы [ 3 ]

3 голосов
/ 30 ноября 2011

Из всех известных мне O / RM-инструментов NHibernate занимает наименьшую площадь в коде C # доменных классов. Он почти позволяет работать с POCO, полностью игнорируя зависимости. Это именно то, что позволяет FluentValidation. Так что мне кажется, что я счастлив в браке.

Но я не осмелился бы рекомендовать или советовать против какого-либо инструмента или инфраструктуры валидации, не зная больше вашего контекста. Есть много кандидатов, и они будут работать с NHibernate. Доступ к данным и их проверка - это две разные проблемы, которые следует (и можно) отделять друг от друга.

1 голос
/ 30 ноября 2011

Свободная проверка действительно хороша для проверки пользовательского ввода и может использоваться для простых бизнес-правил. Но он не имеет интеграции с NHibernate. Это означает, что ничто не помешает NHibernate сохранить недействительный объект, кроме вашего пользовательского кода.

С другой стороны, существует проект валидатора NHibernate. Он имеет интеграцию с nhibernate и не позволит вам сохранить недействительный объект.

1 голос
/ 30 ноября 2011

Как правило, ваш домен не должен знать о вашем ORM.Это должно быть в изоляции.Поэтому я отвечаю так: я не вижу проблем с проверкой NH и FNH, но держу домен как можно более изолированным.

...