Cal*_*lin 6 .net nhibernate fluent-nhibernate
我有一个像Candidate对象的波纹管的映射:
References(x => x.Country).Column("CountryId").NotFound().Ignore()
Run Code Online (Sandbox Code Playgroud)
这里的问题是,如果我选择*Candidates我会为它们中的每一个获得额外的选择,这不是一件好事,所以我拉出了NotFound().Ignore()位,但现在以下代码因ObjectNotFoundException异常而失败:
if (entity.Country != null)
{
bos.CountryName = entity.Country.Name;
}
Run Code Online (Sandbox Code Playgroud)
当我比较郡时,有没有办法强制Hhibernate做选择!= null?
谢谢,
当你指定.NotFound().Ignore()时,这会强制加载实体,并且不能用.LazyLoad()覆盖.NHibernate这样做是因为它必须确保关系存在或不存在,因为您不依赖于数据库来强制执行此操作.
我的建议是捕获ObjectNotFoundException或修复您的数据,以便您没有这些不一致.
这是一篇关于此的文章:http: //opensource.atlassian.com/projects/hibernate/browse/HHH-2753
| 归档时间: |
|
| 查看次数: |
2912 次 |
| 最近记录: |