在NHibernate
中,如何返回不在给定列表中的实体列表?
假设我有一个Client
实体,并且定义了一个名为IList<Client> notInClients
. 我知道我希望我的 sql 变成这样:
SELECT *
FROM Clients c1
WHERE c1.ClientId NOT IN (
SELECT *
FROM Clients c2
WHERE c2.ClientId IN ('1', '2', '3', '4')
)
我假设我需要为此使用 a DetachedCriteria
。也许是这样的:
var clients = session.CreateCriteria("c1")
.Add(
Subqueries.PropertyNotIn("c1.ClientId",
DetachedCriteria.For<Client>("c2").HOW_DO_I_ADD_MY_LIST)));
我想我只是不确定如何构建我的子查询。我在这方面走的是正确的道路吗?