通常它应该可以工作,我在论坛上看到这样的问题,但对我来说这是非常奇怪的,尽管它们已被执行,但条件并不适用。
这是我的代码:
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,所以我让代码运行并添加其他的地方,但是查询没有改变它仍然只定义了基本条件。
我做错了吗?
答案 0 :(得分:3)
只需将条件分配回查询,例如
query = query.Where(j => j.U.BD < MD);