Это не так просто, как кажется, что мы не используем вашу стратегию первичного ключа, если вы используете сумку или наборы, какой каскад вы используете и т. Д. Однако, ниже приведен небольшой пример, который должен помочь вамначалось ...
Отображение члена: -
//note: bag could be Set
public class MemberMapping : ClassMapping<Member> {
public MemberMapping() {
Id(x => x.Id, x => { x.Generator(...); etc... });
Bag(x => x.CmsRegionContentList, bag => {
bag.Inverse(true); // Is collection inverse?
bag.Cascade(Cascade.DeleteOrphans); //set cascade strategy
bag.Key(k => k.Column(col => col.Name("MemberId"))); //foreign key in Comment table
}, a => a.OneToMany());
}
}
И для сопоставления комментариев: -
public class CommentMapping : ClassMapping<Comment> {
public CommentMapping() {
Id(x => x.Id, x => { x.Generator(...); etc... });
ManyToOne(x => x.Page, x => {
x.Column("MemberId");
x.Update(false); //either True or False
x.Insert(false);
x.Fetch(FetchKind.Join); //fetch join or select
});
}
}
edit Я должен такжеотметьте, что вам действительно нужно изучить основы XML-сопоставления и посмотреть, что каждый атрибут, такой как Update
и Insert
, на самом деле влияет на то, как ваша модель сохраняется.