0

我正在尝试在我的 linq to sql 查询中使用表达式树。我使用 EF5

我写了一个这样的方法:

    private Expression<Func<Tbl1, bool>> Expr1()
    {              
        return tbl1 => tbl1.FSystemCode == (int)comboBoxSystemCode.SelectedValue;
    }

我的查询是:

    private object bindingSourceTbl1_DataSourceBinding(object sender, EventArgs e)
   {
        using (SampleDbEntities dbo = new SampleDbEntities())
        {

           return dbo.Tbl1.Join(dbo.Tbl2, x => x.Id, y => y.Tbl1Id, (x, y) => new { Tbl1 = x, Tbl2 = y }).Where(this.Expr1()).Where(a => a.Tbl2.Tbl6Id == (int)comboBoxTbl6.SelectedValue).Select(a => a.Tbl1).ToList();
        }
    }

但在运行时失败了这个 .Where(this.Expr1())

请帮助我编写正确的代码。

4

1 回答 1

0

我通过这个改变解决了我的问题,这对我有用:

private object bindingSourceTbl1_DataSourceBinding(object sender, EventArgs e)
{
    using (SampleDbEntities dbo = new SampleDbEntities())
    {

       return dbo.Tbl1.Join(dbo.Tbl2, x => x.Id, y => y.Tbl1Id, (x, y) => new { Tbl1 = x, Tbl2 = y }).Where(a => a.Tbl2.Tbl6Id == (int)comboBoxTbl6.SelectedValue).Select(a => a.Tbl1).Where(Expr1()).ToList();
    }
}

我认为这一定是真的。

于 2013-11-14T13:16:17.317 回答