当前位置: 首页 > 编程语言 > C#

如果可能,将if条件合并到单个LINQ语句中分享

时间:2023-04-11 02:39:23 C#

C#学习教程:Ifpossible,combineifconditionsintoasingleLINQstatement带分页的简单用户列表。我添加了过滤该列表的功能,允许最终用户从两个下拉菜单和两个带有开始和结束日期的文本框中选择条件。有没有比下面的代码更好的方法,我必须测试所有可能的参数组合才能编写正确的LINQ查询:publicIEnumerableGetAllByCondition(int?condition1,int?condition2,DateTime?startDate,DateTime?endDate){如果(condition1.HasValue&&startDate.HasValue&&endDate.HasValue){returnDatabase.Set().Where(x=>x.Condition1==condition1.Value&&x.Date>startDate.Value&&x.Date<=endDate.Value).ToList();}if(condition1.HasValue&&condition2.HasValue){returnDatabase.Set().Where(x=>x.Condition1==condition1.Value&&x.Condition2==condition2.Value).ToList();}if(condition1.HasValue){returnDatabase.Set().Where(x=>x.Condition1==condition1.Value).ToList();}....并且列表继续}如果我在未来添加另一个条件,这将很快变得臃肿。Factswrittenusingqueries-whereyoucankeepcallingtoaddmoreconditions:以上是C#学习教程:如果可能,将if条件组合成一个LINQ语句我分享的所有内容,如果它对每个人都有用并且需要了解更多关于C#学习教程,希望大家多多关注——varquery=Database.Set();如果(condition1.HasValue){query=query.Where(x=>x.Condition1==condition1.Value);}if(condition2.HasValue){query=query.Where(x=>x.Condition2==condition2.Value);}...返回查询.ToList();本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: