将lambda表达式转换为表达式树

时间:2013-12-19 10:09:08

标签: c# linq

我做了一个linq查询:

        var parcels = (from parcel in Db.Parcels
                                where
                                    (parcel.Neighbors.Count(neig =>
                                        {
                                            var neigType1 = neig.Neighbors as NeigType1;
                                            var neigType2 = neig.Neighbors as NeigType2;
                                            var result = false;
                                            if (neigType1 != null)
                                            {
                                                 result = neigType1.Name.Contains(NeigTextBox.Text);
                                            }

                                            if (neigType2 != null)
                                            {
                                               result = кадастроваяОрганизация.Name.Contains(NeigTextBox.Text);
                                            }
                                            return result;
                                        }) > 0)
                                select parcel).ToList();

但在(parcel.Neighbors.Count(neig =>行中我收到错误:

  

带有语句体的lambda表达式无法转换为   表达树

谷歌说这是因为我没有使用=>运算符。但是我在哪里说的呢?

1 个答案:

答案 0 :(得分:1)

试试这个解决方案:

var parcels = Db.Parcels
    .Where(p => p.Neighbors.Count(neig =>
        {
            .....
            return result;
        }) > 0)
    .ToList();