NHibernate Каскад удаляет - PullRequest
0 голосов
/ 24 июня 2010

У меня есть отношение «один ко многим» в модели данных от A до B. Но в моем доменном API я не выставляю «B» на A (поскольку мы никогда не будем переходить от A к B), но имею ссылка от B до A. Теперь я хочу иметь возможность удалить все буквы "B" при удалении A. Является ли это возможным? Прямо сейчас NH пытается сначала установить FK на ноль, чего я не хочу и не могу, так как столбец не обнуляется.

A = SupplierType

B = BaseProductCoInsurance

   public BaseProductCoInsuranceMap()
        {
            Table("BaseProductCoInsurance");

            Id(x => x.Id, "BaseProductCoInsuranceId");

            Map(x => x.CoInsurancePercent).Column("CoInsrPrcnt");

            References(x => x.BaseProduct, "BaseProductId");
            References(x => x.PolicySupplierType, "PlcySupplierTypeID");
            References(x => x.InsuredType, "InsuredTypeCode");
        }

1 Ответ

0 голосов
/ 24 июня 2010

Если вам нужно иметь возможность каскадного удаления, вам нужно сообщить NHibernate об этих отношениях. Тем не менее, вам не нужно делать отношения доступными для других. Конечно, у вас может быть частная коллекция, о которой знает только NH.

Если вы загружаете отношения лениво, вы даже не увидите снижение производительности из этого.

Другой вариант, который следует рассмотреть, это просто изменить метод удаления, чтобы также удалить другой объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...