1
只是要清楚 - 这个问题不是关于流利NHibernate。代码的双向NHibernate映射
我有一个Parent
和Child
类,它们之间有一对多的关系。
代码缩短以提高可读性。
public class Child
{
int Id;
string Name;
}
public class Parent
{
int Id;
string Name;
Iesi.Collections.Generic.ISet<Child> Children;
}
public ChildMapping()
{
Table("Children");
Id(p => p.Id, m => {
m.Column("Id");
m.Generator(Generators.Identity);
});
Property(p => p.Name, m => {
m.Column("Name");
m.NotNullable(true);
});
}
public ParentMapping()
{
Table("Parents");
Id(p => p.Id, m => {
m.Column("Id");
m.Generator(Generators.Identity);
});
Property(p => p.Name, m => {
m.Column("Name");
m.NotNullable(true);
});
Set(p => p.Children, m => {
m.Cascade(Cascade.All | Cascade.DeleteOrphans);
m.Key(k => {
k.Column("ParentId");
k.NotNullable(true);
});
}, a => a.OneToMany());
}
的Child
类需要就可以了Parent
属性。 Parent
需要控制关系(我不能在Parent
的末尾设置Inverse
到true
)。
Parent
和Child
映射应该如何映射?
你可能会发现这个系列的博客文章有用;它实际上是我能找到的映射代码的唯一文档。 http://notherdev.blogspot.co.il/2012/02/nhibernates-mapping-by-code-summary.html –
谢谢。这也是我找到的唯一文档,但对我没有多大帮助。如果我设法解决这个问题,我会自己回答这个问题:) –
好吧,父映射似乎没问题,难道你不需要在儿童端使用“多对一”,就是这样吗? –