Обратное отображение nHibernate - PullRequest
1 голос
/ 19 июля 2011

У меня есть один объект (объект A), который содержит коллекцию объекта B. У меня есть настроенные классы отображения (свободно) с этим все работает, проблема при попытке сохранить.Я хочу выполнить один вызов сохранения и для этого затем также сохранить все объекты B.Опять же, это работает, ЗА ИСКЛЮЧЕНИЕМ, что nHibernate не назначает переменную внешнего ключа для объекта B после сохранения объекта A.

Я полагаю, что в таких ситуациях используется обратное (?), Но, похоже, оно не работаетмне.Объект A имеет отображение для коллекции:

HasMany(x => x.Responses)
            .Inverse()
            .KeyColumn("[ParentID]")
            .Not.LazyLoad()
            .Cascade.All()
            .AsBag();

И объект B имеет ссылку на объект A:

References(x => x.Entry, "[ParentID]")
            .LazyLoad()
            .Cascade.None();

Я думал, что инверсия будет на стороне объекта B, но ссылкине содержит обратную функцию.

Мысли?

Приветствия

Ответы [ 2 ]

0 голосов
/ 20 июля 2011

Я использую для создания AddChild метода в родительском классе, например:

public class Parent
{
     public void AddChild(Child child)
     {
         child.Parent=this;
         this.ChildrenCollection.Add(child);
     } 
...
0 голосов
/ 19 июля 2011

Я думаю, что проблема существует в добавлении объектов B в коллекцию из объекта A.
Смотрите здесь http://eashi.wordpress.com/2008/08/22/nhibernate-inverse-attribute/

...