LINQ按多列搜索

时间:2018-04-17 14:58:28

标签: c# asp.net linq

我在表格上方实施了一个使用此查询提供的搜索表单。

<div contenteditable="true"> <header> <h1>Rich Text Editing Development</h1> <p>I'm <strong><em>really</em> annoyed</strong> with trying to figure out this answer.</p> </header> </div>

在提交搜索期间,我想使用提供的一个或多个搜索条件,只要一次提供或不提供三个条件中的任何一个,使用&amp;&amp;或者OR无助于缩小结果集。

我已经厌倦了检查是否为null并进一步添加if子句但是看起来很混乱。我想知道有没有办法使用Model对象或你建议的任何其他方式进行搜索?

我的实现(假设if函数中的检查值来自表单)

students.GroupBy(x => new { x.Fname, x.classdate}).Select(grp => grp.First);

1 个答案:

答案 0 :(得分:3)

您可以使用其中一个查询来执行此操作。

students = students.Where(x => x.FirstName==(Fname ?? x.FirstName)
        && x.LastName==(Lname ?? x.LastName)
        && x.classdate==(ClassDate??x.classdate));

$bigArray = [$array_one, $array_two, $array_three,.... ];