Можете ли вы объяснить причину использования inverse = "true" в NHibeernate? - PullRequest
0 голосов
/ 18 июля 2011

Можете ли вы объяснить причину использования атрибута inverse = "true" в отображении отношений в NHibeernate на примере, в котором требуется, чтобы этот атрибут был равен "true"?

1 Ответ

4 голосов
/ 18 июля 2011

Если у вас двунаправленная связь, то со стороны .net вы должны кодировать обе стороны.Как и

parent.Children.Add(child);
child.Parent = parent;

, однако с точки зрения nhibernate по умолчанию будет отправлено 2 оператора обновления для каждой из строк.Вам нужно только обновить столбец ParentId дочерней таблицы.Inverse = true гарантирует, что изменения, внесенные в эту часть, не вызовут никаких изменений в БД.Так что если вы используете Inverse = true и просто напишите ниже

parent.Children.Add(child);

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

...