【发布时间】:2013-11-18 22:29:59
【问题描述】:
我有一张桌子和
ID Name ExcelID
1 a 1
2 b 1
3 a 2
4 b 2
5 c 2
我需要显示两个 Excel ID 之间的重复项,因此输出应该显示“C”,因为这是 excelid 1 和 2 之间的唯一值。因此,我使用下面的查询来比较这两组数据。
var assets = db.FPTStaticDataRatedFinancialAssetBase.OfType<FPTStaticDataRatedFinancialAssetBase>()
.Where(c => c.FORATExcelId == fptexcel)
.GroupBy(x => x.Name)
.Select(y => y.FirstOrDefault()).ToList();
var assetsold = db.FPTStaticDataRatedFinancialAssetBase.OfType<FPTStaticDataRatedFinancialAssetBase>()
.Where(c => c.FORATExcelId == fptexcelprevious)
.GroupBy(x => x.Name)
.Select(y => y.FirstOrDefault()).ToList();
我已将数据分组到两个列表中,一个是 excel id 1,第二个查询是 2。
但是,如果我尝试使用 except 方法来显示不同的值,它只会显示两个列表中的所有值
【问题讨论】:
-
你的问题很不清楚......为什么C是独一无二的?这两个列表在哪里?
-
C 是唯一出现在 ExcelId 2 但不在 1 中的值。这两个列表由 assets 和 assetsold 查询组成
标签: c# linq frameworks entity