有没有办法在流畅的 nhibernate 映射文件中指定一种仅有条件地将值拉入业务实体的方法?
我当前的映射片段是:
HasMany(m => m.GroupUsers)
.Table("GroupUsers")
.KeyColumns.Add("UserEntityId")
.Inverse()
.Cascade.All();
理想情况下,我希望有这个(它编译但抛出 gu 未定义的运行时错误):
HasMany(m => m.GroupUsers)
.Table("GroupUsers")
.KeyColumns.Add("UserEntityId")
.Where(gu => gu.DeleteDate == null)
.Inverse()
.Cascade.All();
问题的关键是我希望映射仅拉回那些具有空删除日期的组用户条目。
编辑:删除日期位于基类上
来自 FluentNhibernateAPI文档 http://fluentnhibernate.org/api/FluentNHibernate.Mapping/ToManyBase%603.htm#Where:
TWhere(表达式>where)
设置此一对多关系的 where 子句。注:这个
仅支持简单情况,对于更复杂的情况请使用字符串重载
条款。
它似乎过滤基类属性属于“复杂”案件。
所以你应该使用Where(String)
重载(我还没有测试语法...):
HasMany(m => m.GroupUsers)
.Table("GroupUsers")
.KeyColumns.Add("UserEntityId")
.Where("DeleteDate is null")
.Inverse()
.Cascade.All();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)