Linq To SQL选择父行和最顶层的子表行

时间:2011-03-23 03:04:56

标签: linq-to-sql parent-child topmost

在SQL中有一些例子,我理解它们,但我似乎无法在Linq-SQL中解决它。

有两个表,“帐户”和“帐户交易”与帐户中的主键相关,这就是惊喜,AccountID。

我需要选择每个帐户行和最近1个(按顺序降序排名前1位)子帐户交易。

我试图破解我发现的一些例子,但没有运气(我猜不到它)......

任何帮助表示赞赏...

2 个答案:

答案 0 :(得分:1)

这是一种可能的解决方案;它不漂亮,但应该有效:

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

这将选择所有帐户,如果AccountTransactions表具有AccountID作为外键,则将自动执行连接。您需要做的就是获取帐户所需的详细信息并获取按日期排序的最新交易。

答案 1 :(得分:0)

  1. tblLink link =(来自于context.tblRegionLinks中的c                  其中c.LinkId == 3&& c.RegionId == 5                  选择c.tblLink).FirstOrDefault();
  2. 在我的情况下工作正常.....

    希望它会帮助别人。