
我正在使用liNQ,我想知道在给定任何搜索条件的情况下,我可以使用什么方法来查询Employes集合,即用户不必输入all,但他们必须至少输入一个搜索参数.
到目前为止,在测试我的liNQ语句时,有两个搜索参数,似乎我必须查看是否输入了搜索参数.
如果是这种情况,那么对于许多搜索参数来说这可能变得非常笨重.
// only Firstname is enteredif (!string.IsNullOrEmpty(Firstname) && string.IsNullOrEmpty(Lastname)){ var employees = DB.Employees .Where(emp => emp.Firstname.Contains(fname));}// only Lastname is enteredelse if (string.IsNullOrEmpty(Firstname) && !string.IsNullOrEmpty(Lastname)){ var employees = DB.Employees .Where(emp => emp.Lastname.Contains(lname));}// both parameters are enteredelse if (!string.IsNullOrEmpty(Firstname) && !string.IsNullOrEmpty(Lastname)){ var employees = DB.Employees .Where(emp => emp.Firstname.Contains(fname)) .Where(emp => emp.Lastname.Contains(lname));} 仅供参考,我最初认为我可以使用相关的搜索参数将Where()语句附加到我的liNQ语句中,但我注意到并非所有记录都应该返回,因此if-then语句的上述逻辑也是如此.
解决方法 这样的事情怎么样:Iqueryable<Employee> employees = DB.Employees;if (!string.IsNullOrEmpty(Firstname)){ employees = employees .Where(emp => emp.Firstname.Contains(fname));}if (!string.IsNullOrEmpty(Lastname)){ employees = employees .Where(emp => emp.Last.Contains(lname));} 总结 以上是内存溢出为你收集整理的c# – 具有多个搜索条件的笨重的LINQ语句全部内容,希望文章能够帮你解决c# – 具有多个搜索条件的笨重的LINQ语句所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)