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 に答える