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
  • Вопрос задан
  • 1228 просмотров
Решения вопроса 1
opium
@opium
Просто люблю качественно работать
Если хотите получить wallet к текущему userid, то просто фильтруйте
context.Wallet.Include(w => w.WalletM2M)
               .Where(w => w.WalletM2M.AccountId == CurrentUser.AccountId && w.WalletM2M.IsAdmin == true).ToList();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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