gpt4 book ai didi

nhibernate - 查询和(x如 'a'或y如 'a')

转载 作者:行者123 更新时间:2023-12-03 02:59:54 25 4
gpt4 key购买 nike

嗨当我使用 queryover API 时,是否有任何优雅的方式来组合“like”和“or”?对于“喜欢”,有这样的内容:

 query.WhereRestrictionOn(x=>x.Code).IsLike(codePart)

对于“或”我可以这样做:

query.Where( x=>x.Code == codePart || x.Description== codePart)

但是我如何创建这样的查询:

select * from n where code like '%abc%' or description like '%abc%'

最佳答案

您可以使用 NHibernate Disjunction 类以更优雅(恕我直言)的方式执行此操作:

var disjunction= new Disjunction();

disjunction.Add(Restrictions.On<Type>(e => e.Code).IsLike(codePart));
disjunction.Add(Restrictions.On<Type>(e => e.Description).IsLike(codePart));
//(and so on)

然后:

query.Where(disjunction)

每个“OR”都是一个单独的指令,如果您想有条件地添加谓词,这会有所帮助。

关于nhibernate - 查询和(x如 'a'或y如 'a'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4541546/

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