我正在尝试构建一个查询,其中我需要基于方法中传递的列表对两个表的过滤器的结果。
让我解释一下...
我有两个列表 accountnumbers
和 description
。我将这些列表传递给该方法,并尝试根据左连接从两个表中选择匹配的值对。
我有两个表 account
和 accountdescriptionhistory
。这两个表具有基于公共列 accountid
的关系,它具有名为 accountnumber
和 description
的列。这些列用于通过传递两个列表来查找匹配的记录(在第 1 点中解释)。
我正在尝试使用 Nhibernate 的 CreateQuery
设计一个简单的 SQL 查询:
var queryTest = session.CreateQuery("FROM Account AS acct LEFT JOIN AccountDescriptionHistory AS " +
"acctHist ON acct.Id = acctHist.Account.Id WHERE " +
"acct.Owner.Id=:p0 AND " +
"acct.IsDeleted=false OR " +
"acct.AccountNumber IN (:accountNumbers)")" +
"acct.Description IN (:descriptions)")
.SetParameter("p0", owner.Id)
.SetParameterList("accountNumbers", accountlst).
.SetParameterList("descriptions", descriptionlst);;
var result = queryTest.List();