Я строю новую систему с NHibernate, используя S # arp Architecture. Я новичок в S # arp, но опыт работы с NHibernate. Одна особенность, которую я действительно надеялся найти, - это хороший способ указать в одном месте длины текстовых полей, которые будут перенесены на каждый слой, который должен знать длину.
Другими словами, я использую отображение Fluent, чтобы указать, что поле Имя объекта Whatsis содержит 50 символов. (Я отключил автоматическое отображение, потому что я все еще писал переопределения отображений для большинства, если не для всех классов. Я решил просто написать полное отображение самостоятельно с помощью ClassMap
. Мне нужно достаточно подробностей в отображении, чтобы сгенерировать из него полную схему БД. Затем, когда я генерирую схему базы данных, используя hbm2ddl, я получаю 50-символьную длину поля. Замечательно. Но я также хочу, чтобы валидаторы MVC применяли его автоматически. И я настолько жадный, что даже хочу, чтобы прокси-объект, сгенерированный NHibernate для Whatsis, знал об этой длине в своем установщике, поэтому, если в коде я должен назначить слишком длинное значение, я получу исключение.
Есть ли у меня надежда на достижение этого, не слишком усложняя мой проект? Я впервые использую Fluent mapping. Я думал, что это была особенность Fluent, но, похоже, это не сработало.