c# – LINQ外连接有重复
发布时间:2020-12-15 22:11:39 所属栏目:百科 来源:网络整理
导读:我在LINQPad中运行此查询.它的工作原理除了ProductSeries有重复的记录. var query = from etaRecord in EtaRecord_0140 join productSeriesRecord in ProductSeries on etaRecord.ProductSeriesID equals productSeriesRecord.ProductSeriesID into productS
我在LINQPad中运行此查询.它的工作原理除了ProductSeries有重复的记录.
var query = from etaRecord in EtaRecord_0140 join productSeriesRecord in ProductSeries on etaRecord.ProductSeriesID equals productSeriesRecord.ProductSeriesID into productSeriesGroup from productSeries in productSeriesGroup.DefaultIfEmpty() where etaRecord.State == "A" select new { EtaRecord = etaRecord,ProductSeriesRecord = productSeries }; query.Dump(); 我尝试使用FirstOrDefault()而不是DefaultIfEmpty(),但我收到此错误:
如何获取ProductSeries的FirstOrDefault(),以便每个EtaRecord只有一行? .NET小提琴就在这里:https://dotnetfiddle.net/kRrold 解决方法
看起来你需要分组:
var query = from etaRecord in EtaRecord_0140 join productSeriesRecord in ProductSeries on etaRecord.ProductSeriesID equals productSeriesRecord.ProductSeriesID into productSeriesGroup from productSeries in productSeriesGroup.DefaultIfEmpty() where etaRecord.State == "A" group productSeries by new { etaRecord.ProductSeriesId,etaRecord } into g select new { EtaRecord = g.Key.etaRecord,ProductSeriesRecord = g.Select(x => x).FirstOrDefault() }; UPDATED FIDDLE (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- CMakeUP操作XML
- c# – 使用iTextSharp从PDF中删除第一页
- objective-c – 从模态视图启动摄像头会导致iPad上出现意外
- Oracle DB:java.sql.SQLException:Closed Connection
- c# – Observable.Interval等到动作完成
- ios – 无法将IBOutlet从storyboard连接到UIView子类
- ios – 如何使用终端中的xcode工具使用真实设备进行调试
- oracle linux 5.8安装oracle 10g数据库
- react-bits:Using Pure Components
- 关于Sqlite数据库Update语句的一点介绍