Точечный эквивалент для JOIN - PullRequest
3 голосов
/ 13 сентября 2010
string[] names = { "Burke", "Connor", "Frank", 
   "Albert", "George", "Harris", "David" };

peoples[] people = {
                   new peoples("Connor",20),
                   new peoples("John",22),
                   new peoples("Merry",33),
                   new peoples("Frank",65),
                   new peoples("Frank",34),
                   new peoples("George",19)
               };

var query = from n in names
            join p in people on n equals p.Name into matching
            select new { Name = n, Count = matching.Count() };

Пожалуйста, скажите точечную запись этого запросаБлагодаря.

1 Ответ

2 голосов
/ 13 сентября 2010

Точечная запись для объединения зависит от того, что следует за ним, и от того, есть ли у вас предложение "в" (для группового объединения).В этом случае это будет:

var query = names.GroupJoin(people, n => n, p => p.Name,
                   (n, matching) => new { Name = n, Count = matching.Count() });
  • Если вы не используете "в", он будет использовать Join вместо GroupJoin
  • Если у вас есть что-то другоечем просто "выбрать" впоследствии, он бы ввел новый прозрачный идентификатор, чтобы эффективно сохранять "(n, match)" в качестве кортежа.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...