Как можно сопоставить свойство коллекции конкретного класса, а не интерфейса?Это должен быть конкретный класс!У меня нет контроля над классом, который я хочу отобразить, поэтому я не могу изменить интерфейс.
Сейчас я пытаюсь решить эту проблему, написав собственную реализацию IUserCollectionType
и пользовательскую IPersistentCollection
реализация.
Но ... Следующее исключение остановило мой прогресс:
Test method ShouldSaveEntityWithSections threw exception:
NHibernate.StaleStateException: Batch update returned unexpected row count from update; actual row count: 0; expected: 1
Profiler показывает, что NHibernate не пытается вставить связанный объект в базу данных, но пытается обновить еговнешний ключ к родительскому объекту.
Отображение выглядит так:
<set name="Rows" table="Rows" lazy="false" cascade="all"
collection-type="My.PersistentListType`1[Blabla.Row, Blabla], My">
<key column="ParentID" not-null="true" />
<one-to-many class="Blabla.Row, Blabla" />
</set>
Что происходит?Почему NHibernate не вставляет дочерние объекты в БД?