Ich verwende NHibernate. Ich muss entscheiden, wie ich Domänenentitäten validiere. Was empfehlen Sie? Gibt es irgendwelche Probleme, wenn NHibernate mit Fluent Validation verwendet wird?
Antworten
Zu viele Anzeigen?Von den O/RM-Tools, die ich kenne, hat NHibernate den kleinsten Fußabdruck im C#-Code der Domänenklassen. Es fast ermöglicht es, mit POCOs zu arbeiten und dabei die Abhängigkeiten völlig außer Acht zu lassen. Das ist genau das, was FluentValidation auch ermöglicht. Es scheint mir also eine glückliche Ehe zu sein.
Aber ich würde es nicht wagen, ein Validierungswerkzeug oder einen Rahmen zu empfehlen oder davon abzuraten, ohne mehr über Ihren Kontext zu wissen. Es gibt viele Kandidaten und sie würden auch mit NHibernate funktionieren. Datenzugriff und Validierung sind zwei unterschiedliche Bereiche, die voneinander getrennt werden sollten (und können).
Fluent Validation eignet sich sehr gut für die Validierung von Benutzereingaben und kann für einfache Geschäftsregeln verwendet werden. Aber es hat keine Integration mit NHibernate. Das bedeutet, dass nichts NHibernate daran hindern würde, eine ungültige Entität zu speichern, außer Ihrem eigenen Code.
Auf der anderen Seite gibt es ein NHibernate Validator Projekt. Es hat eine Integration mit nhibernate, und es wird nicht zulassen, dass Sie nicht gültige Entität zu speichern.