LINQ to Entities:根据其他列表过滤列表

时间:2010-02-16 15:41:26

标签: linq-to-entities

使用LINQ实体,我正在尝试根据另一个列表过滤列表。

我的第一个列表如下:

IQueryable<FooViewModel> allFoos = from foo in ctx.Foo 
                                   select new FooViewModel 
                                   {
                                     code = foo.Code,
                                     text = foo.Text,
                                     ...
                                   };

我的第二个列表如下:

IQueryable<FooViewModel> myBars = from bar in ctx.Bar.Include("Baz") select bar

每个条形图有多个bazes,baz有代码和文本属性。

我想过滤allFoos,以便我只返回Code == baz.Code&amp;&amp ;; text == baz.Text

1 个答案:

答案 0 :(得分:1)

您可以将选择分组如下:

var query = from x in foos
            from a in bars
            where x.Name == a.Name
            select new FooViewModel { code = x.Code, text = x.Text };

您当然也可以嵌套不同的查询,例如将from a in bars替换为from a in barQuery.ToList()