我有以下映射类
Trade { ID, AccountFrom, AccountTo }
Account {ID, Company}
Company {ID}
现在我无法找到一种方法来选择所有交易
AccountFrom.Company.ID = X OR AccountTo.Company.ID = X
我可以使用以下命令让 AND 工作:
criteria.CreateCriteria("AccountFrom").CreateCriteria("Company").Add(Restrictions.Eq("ID", X);
criteria.CreateCriteria("AccountTo").CreateCriteria("Company").Add(Restrictions.Eq("ID", X);
但我怎样才能将其转换为“或”而不是“与”。我以前使用过析取,但我似乎不知道如何添加单独的条件,只是限制。
Try:
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>();
我认为您不需要为 Company 起别名。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)