1
두 개의 가방이있는 클래스가 있습니다. 하나의 가방은 클래스 모음과 함께 작동하며 작동하며 다른 가방은 긴 값의 모음이며이 가방은 유지되지 않습니다. 나는 이것을 위해 모든 웹을 검색했으며 내 매핑은 괜찮은 것으로 보입니다. 내지도에서Nhibernate 가방 요소가 지속되지 않습니다.
나는이 있습니다
<class name="Event" table="Events">
<id name="Id" type="Int32">
<generator class="native" />
</id>
<property name="Name" />
<property name="Owner" />
<many-to-one name="DeliveryAddress" column="DeliveryAddressId" cascade="save-update, persist" />
<many-to-one name="EventAddress" column="EventAddressId" cascade="save-update, persist" />
<bag name="Friends" table="Event_Friends" lazy="false" inverse="true" cascade="save-update, persist" fetch="join">
<key column="EventId" />
<element column="Friend" type="Int64" />
</bag>
<bag name="Products" table="Event_Products" lazy="false" inverse="true" cascade="all,delete-orphan" fetch="join">
<key column="EventId" />
<one-to-many class="Product" />
</bag>
</class>
나는 두 adresses를 작성하는 이벤트와 모든 제품을 만들어 내 세션 NHibernate에에 SabeOrUpdate 부르지 만 친구 목록이 저장되지 않습니다
. 저장 후 Get을 실행하면 데이터베이스에 대한 선택이 정확합니다. 나는 그 밖에 무엇이 될 수 있는지 모른다.이 매핑에 대한 나의 모델은 이것이다 :
public class Event
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual Int64 Owner { get; set; }
public virtual Address DeliveryAddress { get; set; }
public virtual Address EventAddress { get; set; }
public virtual ICollection<Int64> Friends { get; set; }
public virtual ICollection<Product> Products { get; set; }
}
을 내 데이터베이스는 다음과 같습니다
Events
-------------------------------
Id int identity
Name varchar
Owner long
DeliveryAddressId int
EventAddressId int
Address
-------------------------------
Id int
-- Code Abbreviated --
Event_Products
-------------------------------
Id int
EventId int
-- Code Abbreviated --
Event_Friends
-------------------------------
EventId int
Friend long
그것은 작동합니다. 나는 그것이 이것을 믿을 수 없다. 나는 이미 역 거짓으로 이미 시도했지만, 아무런 성공도없이 몇 시간을 테스트 한 후에는 더 이상 우리가 실제로 무엇을했는지 모릅니다. – Luiz