linq выберите m: n пользователь: группы - PullRequest
2 голосов
/ 30 мая 2010

У меня есть три стола:

cp_user (id, name)
cp_group (id, name)
cp_usergroup (user_id, group_id)
  • Классический M: N вещи.

Допустим, следующие данные:

cp_user
1, Paul
2, Steven

cp_group
1, Admin
2, Editor

cp_usergroup
1, 1
1, 2
2, 2

Итак, Пол находится в группе «Администратор и редактор», а Стивен - в группе «Редактор». Я хочу создать такой список из базы данных:

Paul Admin
Paul Editor
Steven Editor

Есть предложения?

Спасибо! Clemens

Ответы [ 2 ]

2 голосов
/ 30 мая 2010

Мой друг только что помог мне в этом:

var q = db2.cp_users.SelectMany(
          u => u.cp_groups.Select(
              g => new { Username = u.name, Groupname = g.name }));

У меня отлично работает. Есть ли способ сделать это в синтаксисе запроса?

1 голос
/ 30 мая 2010

В синтаксисе запроса:

from u in db2.cp_users
from g in u.cp_groups
select new { Username = u.name, GroupName = g.name }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...