Linq-запрос к таблицам перемещения - PullRequest
0 голосов
/ 08 сентября 2011

Схема изменилась подо мной, так что пользователи FK больше не находятся в таблице записей, но на них косвенно ссылаются через таблицу счетов

У меня есть следующие таблицы: пользователей Счета (FK от пользователей) Записи (ФК со счетов)

Я в основном хочу получить записи для конкретного пользователя, использующего LINQ:

var userAccounts = context.User.Include("Accounts").Include("Entries").Where(s => s.UserId == userId);

Это был предыдущий запрос перед удалением пользователя из записей:

return (from pc in userAccounts
    select new Entry{
         Timestamp = pc.Timestamp,
         Log = pc.Log }).ToList().AsQueryable();

Просто не знаете, как обойти таблицы и заполнить тип Entry

Ответы [ 2 ]

1 голос
/ 08 сентября 2011

Если вы предпочитаете подход, основанный на ассоциации, а не объединение, учтите следующее:

var userAccounts = from user in context.User
                   where user.UserId == userId
                   from account in user.Accounts
                   from entry in account.Entries
                   select entry;
0 голосов
/ 08 сентября 2011

вы можете объединить таблицу учетных записей пользователей с записями, чтобы вы могли получить все записи с userId.

что-то в этом роде:

from ua in userAccounts join en in entries on ua.accountId equals en.accountId  into data
where data.userId = someId 
select data.entries

надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...