LINQ to Entites: фильтрация списка на основе другого списка - PullRequest
1 голос
/ 16 февраля 2010

Используя 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

На панели есть несколько баз, и база имеет свойства Код и Текст.

Я хочу отфильтровать allFoos, чтобы получить обратно только те элементы, где Code == baz.Code && text == baz.Text

1 Ответ

1 голос
/ 16 февраля 2010

Вы можете группировать выборки так:

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().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...