2010-07-16 1 views
0

У меня есть класс Case, который выставляет объект Person следующим образом:NHibernate каскад обновление/вставить

public class Case 
{ 
    public virtual Person Deceased {get;set;} 
} 

У меня есть класс PersonalAsset который также выставляет лицо:

public class PersonalAsset 
{ 
    public virtual Person Owner {get;set;} 
} 

Предполагая, что я пишу следующий код внутри ISession:

Case case = new Case(); 
Person deceased = new Person(); 
case.Deceased = deceased; 
PersonalAsset asset = new PersonalAsset(); 
asset.Owner = deceased; 
session.SaveOrUpdate(case); 

Есть ли какая-либо конфигурация отображения, которая сохранит PersonalAss et автоматически? Или мне нужно вызвать session.Save (актив)?

Благодаря

Давида

ответ

1

Без ссылки между ними вам нужно будет сохранять вещи вручную. С точки зрения моделирования, возможно, вам недостает совокупного корня, которому принадлежат обе эти вещи?

+0

Я думаю, что ваш ответ может прояснить проблему. Я не совсем уверен, что такое совокупность - это либо сам случай, либо умерший. – David

+0

Я бы очень подозревал, что человек должен содержать коллекцию активов. –

+0

является правильным. Вы объединяете корень - это Case, а Person имеет много активов. –