我有Survey
那个HasMany
Question
。我想从to
创建一个引用。
问题是每次我想用它的所有孩子创建一个,我需要循环所有并循环所有并设置o每个(否则Nhibernate将为每个创建一个)
**我不想拥有调查我是否这样做会解决问题,但会很重且无法使用**HasMany
Option
Option
Survey
new Survey
survey.Questions
survey.Questions.Options
Option
Survey
new Survey
Option
IList<Option>
public class SurveyMap : ClassMap<Survey>
{
public SurveyMap()
{
Id(x => x.Id).GeneratedBy.Identity();
HasMany(x => x.Questions).KeyColumn("SurveyId").Inverse().AsBag().Not.LazyLoad().Cascade.SaveUpdate();
}
}
public class QuestionMap : ClassMap<Question>
{
public QuestionMap()
{
Id(x => x.Id).GeneratedBy.Identity();
HasMany(x => x.Options).KeyColumn("QuestionId").Inverse().AsBag().Cascade.SaveUpdate();
}
}
public class OptionMap : ClassMap<Option>
{
public OptionMap()
{
Id(x => x.Id).GeneratedBy.Identity();
References(x => x.Survey).Column("SurveyId").Cascade.All();
}
}