当我指定以下公式时:
Map(x => x.PendingInviteCount)
.Access
.ReadOnly()
.Formula("(SELECT COUNT(ui.UserInviteId)
FROM [UserInvite] ui JOIN [UserInviteOrganisation] uio
ON ui.UserInviteId = uio.UserInviteId
WHERE uio.OrganisationId = organisationId)");
生成的sql如下所示:
SELECT COUNT(ui.UserInviteId)
FROM [UserInvite] ui
JOIN [UserInviteOrganisation] organisati0_.uio on ui.UserInviteId = uio.UserInviteId
WHERE uio.OrganisationId = organisati0_.organisationId
由于uio以organisatio0 _为前缀而失败。
是否可以创建包含JOIN的公式?
答案 0 :(得分:3)
您应该使用AS关键字来设置表的别名。我不认为NHibernate会以它当前编写的方式接受它。