Как реализовать .Join ()? - PullRequest
0 голосов
/ 08 марта 2011

Может кто-нибудь помочь мне узнать, как реализовать .Join ()?Я никогда раньше не использовал .Join () (только обычное 'join') и хотел бы научиться.Спасибо!

    IQueryable<MyClass> query = 
      from t in table
      select new MyClass() { t.id, t.name };

   IQueryable<MyClass2> ids = 
      from t2 in table2
      select t2.id; // integers

    query.Join(ids, ___, ___, ___)

Это не сработает ...

query.Join(ids, o => o.id, p => p, (o, p) => (o.id == p));

1 Ответ

0 голосов
/ 08 марта 2011

Ты рядом.Похоже, вы ожидаете, что последний параметр Join будет критерием объединения.Это неверно (метод Join предполагает равенство).

Последний параметр выбирает результат объединения:

var result = query.Join(ids, q => q.id, i => i, (q, i) => new { q , i });

Страница MSDN для Enumerable.Join() на самом деле действительно хорошаПример внизу страницы.Я бы предложил проверить это, чтобы лучше понять, что происходит:

MSDN - Enumerable.Join () Метод

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