如何测试lambda表达式的查询结果是否为空?

1 .net c# linq

var query = from emp in dbEmp.Employees
            join dept in dbEmp.Departments on emp.DeptID equals dept.DeptID
            where dept.DepartmentName.Contains(this.TextBox1.Text)
            select new
            {
                EmpID = emp.EmpID,
                EmpName = emp.EmpName,
                Age = emp.Age,
                Address = emp.Address,
                DeptName = dept.DepartmentName
            };

if (query == null)
    Label1.Text = "no results match your search";

GridView1.DataSource = query;
GridView1.DataBind();
Run Code Online (Sandbox Code Playgroud)

一切都以正确的方式工作,但标签在查询结果返回null时不显示消息.标签可以无条件显示(query == null).那么如何测试var查询结果是否返回任何内容?谢谢

Eri*_*ert 9

如果我能教人们关于LINQ的一件事就是:

查询表达式的值是查询而不是查询结果.

当你说

var q = from c in customers where c.City == "London" select c.Name;
Run Code Online (Sandbox Code Playgroud)

q不包含伦敦的一系列客户名称.Q含有查询表示操作查询客户数据库如下....查询未运行; 你所做的就是创建查询.当您列举了查询,当查询获取的结果的.


Ste*_*fan 8

if (!query.Any())
{
 // no results
}
Run Code Online (Sandbox Code Playgroud)