2
我有如下的复合键的映射关系:流利NHibernate的复合键不产生加盟对于引用的实体
CompositeId()
.KeyReference(x => x.CreatedBy, "member_key")
.KeyReference(x => x.Box, "box_key");
这工作正常进行简单的获取和插入,但它是不产生与中提到的表的连接在我尝试使用它们作为查询的一部分的参考中。
所以这个:
return _sessionFactory.GetCurrentSession().QueryOver<BoxMember>()
.Where(x => x.Box.Id == boxId)
.Where(x => x.Member.DeletedDate == null)
.Fetch(x => x.Box).Eager
.Fetch(x => x.CreatedBy).Eager
.List();
生成以下SQL:
SELECT this_.member_key as member1_5_0_,
this_.box_key as box2_5_0_
FROM box_member this_
WHERE this_.box_key = '2750e160-ba72-4a70-b554-9fd600e3cfd0' /* @p0 */
and m1_.deleted_date is null;
不会当你离开了它的过滤器上,加入? '.Where(x => x.Box.Id == boxId)' – Firo 2012-03-13 17:03:38
你设法修复它吗? – Ha11owed 2013-09-16 17:58:15
你需要在下面标记答案是正确的。 – BradLaney 2014-01-30 03:05:48