Как удалить ассоциацию Nhibernate «многие ко многим», не удаляя ссылочные объекты - PullRequest
4 голосов
/ 08 ноября 2010

Добрый день всем

У меня проблемы с удалением ассоциаций между двумя объектами без удаления объектов в NHibernate.Мой файл сопоставления:

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

<property name="Name" column="[SiteGroupName]"/>

<many-to-one name="ClientInfo" column="[ClientID]"/>

<set name="internalSites" table="SiteGroupSites" cascade="none" inverse="true">
  <key column="[SiteGroupID]"/>
  <many-to-many class="Site" column="SiteID"/>
</set>

<set name="internalSiteGroups" table="SiteGroupGroups" cascade="none" inverse="true">
  <key column="[SiteGroupID]"/>
  <many-to-many class="SiteGroup" column="ChildSiteGroupID"/>
</set>

Так что в моем коде C # я удаляю сайт из SiteGroup:

siteGroup.Sites.Remove(site);

ЧтоЯ не понимаю, что, когда я сохраняю, он удаляет ассоциацию и фактический сайт.Я что-то неправильно понимаю?Я хочу, чтобы сайт был удален из группы сайтов, а не удален полностью.

Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 14 августа 2012

Как насчет

site.Sitegroup = null; // Сохранить

...