2011-11-01 2 views
1

У меня возникли проблемы с попыткой сопоставить этот объект, содержащий набор указателей. У меня есть отображение, работающее без ошибок, однако я все равно получаю пустое вложение в OrganizationId в таблице OrganizationAdvertistments. Мне было интересно, как правильно отобразить этот набор?nHibernate сопоставление с составным ключом и набором

<?xml version="1.0" encoding="utf-8" ?> 

<class name="Advertisement" table="Advertisement" lazy="false"> 
    <id name="Id"> 
     <generator class="guid"></generator> 
    </id> 
    <property name="DateStart"/> 
    <property name="DateExpired"/> 
    <property name="Title"/> 
    <property name="Body"/> 

    <set name="OrganzationIds" table="OrganizationAdvertisements" lazy="true"> 

     <key> 
      <column name="AdvertisementId"></column> 
     </key> 
     <element column="OrganizationId" type="Guid" /> 


    </set> 


</class> 

+0

может быть, это не GUID, но UUID? – Max

ответ

2

Ты собираешься иметь отношения многие ко многим между Advertistment и Организацией? если да, у вас есть другой класс: Организация и установить многие из многих отношений между этими двумя классами, и нет необходимости сопоставлять OrganzationIds. Ваш класс будет Somthing так:

class Advertisement 
{ 
//other properties 
public virtual ISet<Organization> Organizations {ge;set} 
} 

и ваша карта:

<class name="Advertisement" table="Advertisement" lazy="false"> 
     <id name="Id"> 
      <generator class="guid"></generator> 
     </id> 
     <property name="DateStart"/> 
     <property name="DateExpired"/> 
     <property name="Title"/> 
     <property name="Body"/> 

     <set name="Organizations" 
       table="OrganizationAdvertisements" 
       lazy="true"> 
      <key column="AdvertisementId" /> 
      <many-to-many class="Namespace.Organization" 
          column="OrganizationID" /> 
      </set> 
    </class> 
Смежные вопросы