Задать вопрос
Axel_User
@Axel_User
Студент 2 lvl-а

Как загрузить коллекцию элементов через связь многие ко многим в Entity Framework?

Доброго времени суток.
Сейчас пишу программу с использованием Entity Framework 6 и привязываю данные из контекста к DataGridView.
Есть 3 сущности: Wallet, WalletM2M, Account. Wallet и Account связанны с WalletM2M связью многие ко многим. Необходимо получить список записей Wallet, зная лишь данные о конкретной записи Account.
Делаю следующим образом:
var l = context.Wallet.Include(w => w.WalletM2M).Select(w => w.WalletM2M
               .Where(wM2M => wM2M.AccountId == CurrentUser.AccountId && wM2M.IsAdmin == true)).ToList();

Но в результате получаю список списков записей Wallet, размерностью равной количеству всех записей Wallet в базе данных

Таблица Wallet
630e063195ff43eda0b9237fa25c6bc3.JPGПолучаемый список
fc7a73d4fe8044d8b9b5e89983e125b4.JPGДиаграмма Entity
40870d2a7b12421cb6f881d7444e2dee.JPG
  • Вопрос задан
  • 1235 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Если хотите получить wallet к текущему userid, то просто фильтруйте
context.Wallet.Include(w => w.WalletM2M)
               .Where(w => w.WalletM2M.AccountId == CurrentUser.AccountId && w.WalletM2M.IsAdmin == true).ToList();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы