Я пытаюсь нанести на карту коллекцию в течение двух дней безуспешно. Я также прочитал все возможные статьи и форумы, но все еще там. Хорошо, вот проблема:
1) Класс коллекции содержит приватное поле "_internalCollection", которое сопоставляется с NHib.
2) Удерживающая сущность должна предоставлять свойство сбора только для чтения.
3) Я хочу избежать реализации интерфейса NHibernate IUserCollectionType !!!
Я сделал это с сопоставлением xml, и оно отлично работает. WarehouseEntity - это элемент коллекции. Склады - это свойство только для чтения в классе OrgEntity.
<component name="Warehouses" class="Core.Domain.Collections.EntitySet`1[Core.Domain.OrgStructure.IWarehouseEntity,Core],Core">
<set name="_internalCollection" table="`WAREHOUSE`" cascade="save-update" access="field" generic="true" lazy="true" >
<key column="`WarehouseOrgId`" foreign-key="FK_OrgWarehouse" />
<!--This is used to set the type of the collection items-->
<one-to-many class="Domain.Model.OrgStructure.WarehouseEntity,Domain"/>
</set>
</component>
Любая идея, как я могу сделать это с беглым NHibernate?
РЕДАКТИРОВАТЬ: Core.Domain.Collections.EntitySet`1 является базовым классом коллекции. Он предоставляет базовые функциональные возможности для работы с коллекциями и может соответствовать любому классу с интерфейсом IEntity.