LINQ Group и члены ViewModel для редактирования членства - PullRequest
0 голосов
/ 10 июня 2011

Учитывая объектную модель POCO EntityFramework, такую ​​как:

public class Group
{
    public int GroupID { get; set; }
    public string Category { get; set; }
    public virtual ICollection<Member> Members { get; set; }
}

public class Member
{
    public int MemberID { get; set; }
    public string Name { get; set; }
    public virtual ICollection<Group> Groups { get; set; }
}

Где отношение «многие ко многим» определено в dbContext следующим образом:

Group      GroupMember   Member
-------    -----------   -------
GroupID    GroupID       MemberID
Category   MemberID      Name

Чтобы разрешить поддержку членства в группе, я хочу создать ViewModel, которая для любой запрошенной группы создает список всех объектов 'Member' в системе вместе с флагом, указывающим, является ли 'Member' уже член группы. В представлении отобразится флажок для поля «Флаг» и имя участника в списке.

Пользователь сможет установить / снять флажок для редактирования списка членов в группе.

Я крутил свои колеса, пытаясь выяснить запрос LINQ, чтобы выбрать этот список, и был бы очень признателен за некоторые указатели.

1 Ответ

1 голос
/ 10 июня 2011

Вы имеете в виду, как:

var model = from m in db.Members
            orderby m.Name
            select new GroupMemberRow
            {
                MemberID = m.MemberID,
                Name = m.Name,
                IsMember = m.Groups.Any(g => g.GroupID == groupId)
            };

?

...