包含连接的 nHibernate 公式

nHibernate Formula Containing A Join

当我指定以下公式时:

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 的公式?

您应该使用 AS 关键字来设置 table 的别名。我不认为 N​​Hibernate 会按照当前编写的方式来处理它。