C# 在一个键列上连接两个linq查询以获得一个结果集

C# 在一个键列上连接两个linq查询以获得一个结果集,c#,linq-to-entities,C#,Linq To Entities,在这里,我想将第一个查询(一列)的输出与第二个查询的结果连接起来,以获得一个结果集。如何合并它们。(CONCAT不能按要求工作。例如:var query2=query.CONCAT(query1);) 您可以加入query1并像这样进行查询 var result = (from q1 in query1 join q in query on q1.courseID = q.courseID select new PdPpAppCourseMod

在这里,我想将第一个查询(一列)的输出与第二个查询的结果连接起来,以获得一个结果集。如何合并它们。(CONCAT不能按要求工作。例如:var query2=query.CONCAT(query1);)


您可以加入query1并像这样进行查询

 var result = (from q1 in query1
            join q in query on q1.courseID = q.courseID 
            select new PdPpAppCourseModel
            {
                courseID = q1.Key.courseID,
                cricosCode = q1.Key.cricosCode,
                courseName = q1.Key.courseName,
                paidAmount = q1.Sum(x => x.PD.paidAmount),
                totalAmount = q.totalAmount

            }).ToList();

您可以加入query1并像这样进行查询

 var result = (from q1 in query1
            join q in query on q1.courseID = q.courseID 
            select new PdPpAppCourseModel
            {
                courseID = q1.Key.courseID,
                cricosCode = q1.Key.cricosCode,
                courseName = q1.Key.courseName,
                paidAmount = q1.Sum(x => x.PD.paidAmount),
                totalAmount = q.totalAmount

            }).ToList();

您好,非常感谢您的时间和分享的知识。但不幸的是,我遇到了错误“无法创建'studentAgentManagementSystem2016.Models.PdpAppCourseModel'类型的常量值。在此上下文中仅支持基元类型或枚举类型”。有什么建议吗?可能与此问题有关:。我编辑了我的回答,但现在它给出了这个错误;类型“sManagementSystem.Models.PdpAppCourseModel”在单个LINQ to Entities查询中以两种结构不兼容的初始化方式出现。一个类型可以在同一查询的两个位置进行初始化,但前提是在两个位置设置了相同的属性,并且这些属性的设置顺序相同好消息是,我能够通过创建一个单独的模型来解决这个问题。。非常感谢你的帮助。嗨,非常感谢你的时间和分享知识。但不幸的是,我遇到了错误“无法创建'studentAgentManagementSystem2016.Models.PdpAppCourseModel'类型的常量值。在此上下文中仅支持基元类型或枚举类型”。有什么建议吗?可能与此问题有关:。我编辑了我的回答,但现在它给出了这个错误;类型“sManagementSystem.Models.PdpAppCourseModel”在单个LINQ to Entities查询中以两种结构不兼容的初始化方式出现。一个类型可以在同一查询的两个位置进行初始化,但前提是在两个位置设置了相同的属性,并且这些属性的设置顺序相同好消息是,我能够通过创建一个单独的模型来解决这个问题。。TriV非常感谢您的帮助。