2009-08-04 1 views
0

Может ли кто-нибудь сказать мне, как выполнить это сопоставление с использованием Fluent NHibernate? Это просто таблица учетных записей с составным ключом, который имеет множество дочерних учетных записей в таблице соединений.Как создать привязку «многие-ко-многим» с саморефлексией в отображении Fluent NHibernate?

Вот рабочее отображение NHibernate и создания SQL он генерирует:

<?xml version="1.0"?> 
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true"> 
<class name="NHibernateM2M000.Account, NHibernateM2M000" lazy="false"> 
    <composite-id> 
     <key-property type="Int32" name="AccountId" /> 
     <key-property type="Char" name="AccountTypeAbbr" /> 
    </composite-id> 
    <property name="Name" column="AccountName" /> 
    <bag name="ChildAccounts" lazy="false" table="AccountXref"> 
     <key> 
      <column name="ParentAccountId" sql-type="int" /> 
      <column name="ParentAccountTyper" sql-type="nchar" length="1" /> 
     </key> 
     <many-to-many class="NHibernateM2M000.Account, NHibernateM2M000"> 
      <column name="ChildAccountId" sql-type="int"/> 
      <column name="ChildAccountType" sql-type="nchar" length="1" />    
     </many-to-many> 
    </bag> 
</class> 

create table Account (AccountId INT not null, AccountTypeAbbr NCHAR(1) not null, AccountName NVARCHAR(255) null, primary key (AccountId, AccountTypeAbbr)) 

create table AccountXref (ParentAccountId int not null, ParentAccountTyper nchar not null, ChildAccountId int not null, ChildAccountType nchar not null) 

alter table AccountXref add constraint FKB769F8B52F1320AB foreign key (ChildAccountId, ChildAccountType) references Account 

alter table AccountXref add constraint FKB769F8B5A2DB3DC7 foreign key (ParentAccountId, ParentAccountTyper) references Account 

ответ

0

Я считаю, что после того, как смотреть на Fluent NHibernate на момент этой публикации, и теперь, что это не возможно , Падение в .hbm-файл - единственный способ выполнить то, что я хотел здесь.

 Смежные вопросы

  • Нет связанных вопросов^_^