Я не продвинутый пользователь NHibernate, так что это может быть несколько важно, и я просто еще не обнаружил это ... но какого черта.
Рассмотрим класс:
public class House
{
public int Id { get; set; }
public ISet<Room> Rooms
{
get;
set;
}
}
При указании элемента NHibernate Set недостаточно написать:
<set name="Rooms" />
Вместо этого я должен написать как минимум:
<set name="Rooms">
<key column="RoomId"/>
<one-to-many class="Room"/>
</set>
Кажется, это нарушение принципа СУХОЙ.
Если это Set, по умолчанию должно быть отношение один ко многим. Класс должен быть выведен из универсального типа коллекции, и в качестве ключевого столбца должен использоваться первичный ключ класса элемента коллекции.
Мне кажется, это разумные значения по умолчанию. Почему тогда NHiberbate не умен, и требует, чтобы я набрал эти 3 дополнительные строки?