我是LINQ的新手,我有这种情况:
表1:
表2:
我想从表1中选择与TCode相关的捐赠的最大数量,并获得与返回结果相对应的TDescription。
提前致谢
更新 我已经设法用这段代码获得每种捐赠类型的计数:
Dim query = (From aDonation In DBEntity.Donation_Tbls
Group aDonation By aDonation.TCode Into myGroup = Group
Select code = TCode, cnt = myGroup.Count)
我需要的是只获得max cnt及其代码的一行/结果。
答案 0 :(得分:0)
您可以尝试这样的事情:
var maxDonated = table1.GroupBy(d => d.TCode)
.OrderByDescending(g => g.Count())
.FirstOrDefault().Key;
var maxDonatedDescription = table2.FirstOrDefault(t => t.TCode == maxDonated).TDescription;
请检查它是否有效,我还没有测试过。 我刚刚展示了你如何做到这一点,你应该做空检查等。
VB代码: 我正在研究C#,所以不确定它是否完美
Dim maxDonated = table1.GroupBy(Function(d) d.TCode)
.OrderByDescending(Function(g) g.Count())
.FirstOrDefault().Key
Dim maxDonatedDescription = table2.FirstOrDefault(Function(t) t.TCode = maxDonated).TDescription