不包括添加LinQ查询的条件

时间:2014-02-09 19:45:17

标签: c# sql linq

通常它应该可以工作,我在论坛上看到这样的问题,但对我来说这是非常奇怪的,尽管它们已被执行,但条件并不适用。

这是我的代码:

var query = context.infoes.Join(context.users, u => u.Id, a => a.Id, (u, a) => new { U = u, A = a }).
                    Where(j=>j.A.IA==true).
                    Where(j=>j.U.G==(int)model.G).
                    Where(j=>j.U.CI==model.CI);

if (MA != null)
{
    query.Where(j => j.U.BD < MD);
}

if (MIA != null)
{
    query.Where(j => j.U.BD > MIA);
}

query.Where(j => j.U.Id == 10);
int countResults = query.Count();

这是我刚刚添加的最后一个,但它也没有添加。所以在intermidiate窗口的第一行代码之后我把查询和我看到了sql,所以我让代码运行并添加其他的地方,但是查询没有改变它仍然只定义了基本条件。

我做错了吗?

1 个答案:

答案 0 :(得分:3)

只需将条件分配回查询,例如

query = query.Where(j => j.U.BD < MD);