0
我要加入一個表TransactionDeclaration(ID,...)用參數函數fp_Transaction_ACL(用戶ID),返回(TransactionDeclarationId,訪問權限ID)。連接必須是內部連接。NHibernate的:聯合映射與「反」和內部連接
我已經做了使用功能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 Avoid Insert in joined table or view
但當我添加此相反,聯接成爲一個左外連接這是不正常的我的使用情況。我需要一個內部聯接來過濾沒有被函數返回的表'TransactionDeclaration'的記錄。
我怎樣才能得到一個內部聯接?或者有沒有替代'逆'來避免插入函數?
我已經試過 「join.Not.Optional();」但這並沒有改變任何東西。我仍然得到左外連接。 – Thierry