Linq To SQL Выберите родительскую строку и верхнюю строку дочерней таблицы - PullRequest
1 голос
/ 23 марта 2011

Есть примеры для этого в SQL, и я их понимаю, но я не могу обойти это вокруг в Linq-SQL.

Существуют две таблицы «Счета» и «Учетные записи», связанные первичным ключом в Учетных записях, который, как ни удивительно, AccountID.

Мне нужно выбрать каждую строку Аккаунта и 1 Самую последнюю (Топ 1 в порядке убывания) дочернюю AccountTransaction.

Я пытался взломать некоторые примеры, которые я нашел, но не повезло (просто не понимаю, я думаю) ...

Любая помощь приветствуется ...

Ответы [ 2 ]

1 голос
/ 23 марта 2011

Это одно из возможных решений;это не красиво, но должно работать:

from account in Accounts
select new
    {account.Name, account.Whatever,
    LastTransaction =
        account.AccountTransactions.OrderByDescending(t => t.Date).First()};

Это выберет все учетные записи и, если таблица AccountTransactions имеет AccountID в качестве внешнего ключа, соединение будет выполнено автоматически.Все, что вам нужно сделать, это получить необходимые данные для учетной записи и получить последнюю транзакцию, упорядоченную по дате.

0 голосов
/ 20 декабря 2011
  1. tblLink link = (из c в context.tblRegionLinks, где c.LinkId == 3 && c.RegionId == 5 select c.tblLink) .FirstOrDefault ();

Работаетхорошо в моем случае .....

Надеюсь, это поможет кому-то еще.

...