Я использую Fluent и NHibernate. У меня есть два объекта: A & B, который имеет отношения «многие-ко-многим» между ними. Я использую однонаправленное отображение «многие-ко-многим», когда A HasMany B's. В B нет ссылки на A (однонаправленный).Каскад при удалении с использованием однонаправленного отображения Many-To-Many
Это создает третью таблицу (с именем ABMapping) в базе данных, которая имеет два столбца, связанные с первичными ключами A & B.
Если удалить объект А, записи из таблицы ABMapping, связанных с удаляются. Это круто.
Но теперь я не могу удалить объект B, поскольку он имеет ограничение FK. Как я могу настроить его так, чтобы при удалении B все записи, связанные с B в ABMapping, были удалены автоматически?
Является ли однонаправленное ограничение важным? С его помощью на фундаментальном уровне вам придется искать все сопоставления для связанных с B для каждой записи в B, которая удаляется. – Clueless
Да, отображение важно. И я хочу, чтобы избежать сценария, где при удалении B я должен явно удалить сопоставления на B. Это единственный способ пойти? Кроме того, что происходит для однонаправленного много-одного? Я думаю, это будет тот же самый сценарий. Если я удалю B, мне придется искать все объекты типа A, которые ссылаются на B, и удалять их перед удалением объекта B. – Zuber