Если я правильно понимаю, вы создаете таблицу ссылок, потому что хотите, чтобы ссылка была обнуляемой. Если это так, вам не нужна справочная таблица. Просто установите FK в таблице b как обнуляемые. Тогда вы можете отобразить это простой справочник. Тогда у вас будут такие таблицы:
- таблица A с 2 столбцами: идентификатор и имя
- таблица B с 2 столбцами: идентификатор, имя и
Помощь (nullable)
И вы можете отобразить это так:
public class AMap : ClassMap<A>
{
public AMap()
{
Id(x => x.Id);
Map(x => x.Name);
}
}
public class BMap : ClassMap<B>
{
public BMap()
{
Id(x => x.Id);
Map(x => x.Name);
References(x => x.RefToA);
}
}
Обновление
Нет способа отобразить это так, как вы хотите в nhibernate (и никакой другой формы в этом отношении). Причина этого довольно проста: он нарушает довольно много правил, и нет никаких причин делать это таким образом. Правильный способ сделать это состоит в том, чтобы иметь пустую ссылку fk в таблице b. Вот как вы представляете ссылку в базе данных SQL. Использовать «многие ко многим», когда вы имеете в виду «один ко многим», просто нехорошо, и в дальнейшем это наверняка доставит вам проблемы.