2013-02-14 54 views
-1

我environement是VS2012,C#平展表数据

主表:Journal (JournalId int)

详细信息表:JournalLine (JournalId int, AccountId int, Debit money, Credit money)

每个日志记录有两个JournalLine记录,一个是借记卡和其他信贷。

我需要为我的报告下列数据:

JournalId, AccountId (Debit > 0), AccountId (Credit > 0)每个日志记录。

我想列出借方帐户和相应的信用帐户。

有没有使用LINQ或TSQL获取这些数据的方法? 谢谢。

+1

分组行肯定是有办法。现在我们的问题非常严重吗? – Marco 2013-02-14 13:30:50

+0

答案是肯定的。如果你需要更多的帮助,你真的需要提供更多的细节(比如linq-to-what?,类模型)。 – 2013-02-14 13:35:25

+0

下一次你会问这个问题时,提供更多关于你所尝试过的信息(不管你现在的代码看起来多么愚蠢)以及你有什么确切的问题 – 2013-02-14 13:44:26

回答

0

您可以使用LINQ组加入度日期刊

var query = from j in db.Journal 
      join l in db.JournalLine 
       on j.JournalId equals l.JournalId into lines 
      select new { 
       j.JournalId, 
       DebitAccount = lines.Single(x => x.Debit > 0).AccountId, 
       CreditAccount = lines.Single(x => x.Credit > 0).AccountId 
      }; 
+0

非常感谢你,你是摇滚人。 备注:Single()没有被接受,调试器建议我使用FirstOrDefault并且它可以工作(也要感谢你的调试器)。 – user1104916 2013-02-14 14:14:29

+0

@ user1104916好吧,如果你总是只有两行,那么根本没有区别。随时接受解决方案:) – 2013-02-14 14:15:40