我与以下配置有一对多的关系
HasMany(x => x.Staff)
.Inverse()
.Cascade.All();
Run Code Online (Sandbox Code Playgroud)
但我得到一个集合未能初始化错误.
我不必在这里指定外键,我找到的例子不是????
怎么知道哪个是外键?
编辑:仔细观察异常sql尝试使用字段Staff_id当我说它是StaffID?
马尔科姆
尝试
HasMany(x => x.Staff)
.KeyColumnNames.Add("StaffID")
.Inverse()
.Cascade.All();
Run Code Online (Sandbox Code Playgroud)
Staff_id是自动配置默认值,但您可以设置自动配置使用的约定.
如果您要将集合映射到IList <T>,则需要添加AsBag()或NHibernate会抱怨缺少"idx"列.如果你想延迟加载集合,添加.LazyLoad().我通常会使用.Cascade.AllDeleteOrphan().
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |