我一直无法找到这个问题的答案。
说你有ClassA
:
public class ClassA {
public Guid Id { get; set; }
public IList<ClassB> { get; set; }
}
并ClassA
嵌套了一组ClassB
对象:
public class ClassB {
public Guid Id { get; set; }
public string SomeProperty { get; set;}
}
有没有办法使用 NHibernate 将这些对象映射到表,生成模式但没有为ClassB
表创建外键关系?
更新
想出解决方案 - 通过代码映射时:
Bag<ClassA>(x => x.ClassB,
collectionMapping => {
collectionMapping.Table("ClassB");
collectionMapping.Cascade(Cascade.All);
collectionMapping.Key(key => {
key.Column("ClassAId");
key.ForeignKey("none");
});
collectionMapping.Lazy(CollectionLazy.NoLazy);
},
mapping => mapping.OneToMany(x => {
x.Class(typeof(ClassB));
})
);