我必须使用返回 (TransactionDeclarationId,AccessRightId) 的参数函数 fp_Transaction_ACL(userId) 加入表 TransactionDeclaration(Id,...)。连接必须是内部连接。
我使用 Fluent NHibernate 完成了以下映射:
public TransactionDeclarationMap()
{
this.Id(transactionDeclaration => transactionDeclaration.Id);
this.Join(
"fp_TransactionDeclaration_ACL(:AclFilter.userId)",
join =>
{
join.KeyColumn("TransactionDeclarationId");
join.Map(transactionDeclaration => transactionDeclaration.AccessRight, "AccessRightType").CustomType
<AccessRight>().Generated.Always().ReadOnly();
join.Inverse();
join.Fetch.Join();
});
}
由于不得插入或更新该函数,因此我添加了“join.Inverse()”,如下所述:
Nhibernate/hibernate 避免在连接表或视图中插入
但是当我添加这个逆时,连接变成了左外连接,这对于我的用例来说是不合适的。我需要一个内部连接来过滤函数未返回的表“TransactionDeclaration”的记录。
如何获得内部联接?或者有没有替代“逆”以避免插入函数?