gpt4 book ai didi

c# - NHIbernate OR 条件查询

转载 作者:可可西里 更新时间:2023-11-01 08:52:15 25 4
gpt4 key购买 nike

我有以下映射类

Trade { ID, AccountFrom, AccountTo }
Account {ID, Company}
Company {ID}

现在我想不出一种方法来选择所有交易

AccountFrom.Company.ID = X OR AccountTo.Company.ID = X

我可以使用以下方法开始工作:

criteria.CreateCriteria("AccountFrom").CreateCriteria("Company").Add(Restrictions.Eq("ID", X);
criteria.CreateCriteria("AccountTo").CreateCriteria("Company").Add(Restrictions.Eq("ID", X);

但是我怎样才能将其转换为 OR 而不是 AND。我以前使用过 Disjunction,但我似乎不知道如何添加单独的条件,只是限制。

最佳答案

尝试:

return session.CreateCriteria<Trade>()
.CreateAlias("AccountFrom", "af")
.CreateAlias("AccountTo", "at")
.Add(Restrictions.Or(
Restrictions.Eq("af.Company.CompanyId", companyId),
Restrictions.Eq("at.Company.CompanyId", companyId)))
.List<Trade>();

我认为您不需要为公司起别名。

关于c# - NHIbernate OR 条件查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3299022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com