如何从多个表LINQ中选择

问题描述 投票:0回答:1

这是我的查询

var query = from t1 in context.HrEmployee
                            join t2 in context.ResPartner on t1.PartnerId equals t2.Id
                            join t3 in context.HrDepartment on t1.DepartmentId equals t3.Id into ed
                            from t3 in ed.DefaultIfEmpty()
                            select new
                            {
                                t1,
                                EmployeeCode = t2.PartnerCode,
                                EmployeeName = t2.PartnerName,
                            };

输出



----------


我可以输出这样的数据吗?

[ 
   { 
      "id":"37f1b447-d242-4509-baa1-04f1647bdafe",
      "createUid":"ff9ca515-a7aa-4ae4-884d-505cdaf017fe",
      "createDate":"2019-12-25T23:12:28.481578",
      "writeUid":"ff9ca515-a7aa-4ae4-884d-505cdaf017fe",
      "writeDate":"2019-12-26T00:00:23.73043",
      "companyId":"6efb7fda-dbe4-4bdf-a7a9-8f2876daf59a",
      "EmployeeCode":"TEST",
      "EmployeeName":"TEST"
   }
]

我可以编写一个linq查询以输出我上面想要的json数据,请帮助我吗?


c# .net entity-framework linq select
1个回答
0
投票
var query = from t1 in context.HrEmployee join t2 in context.ResPartner on t1.PartnerId equals t2.Id join t3 in context.HrDepartment on t1.DepartmentId equals t3.Id into ed from t3 in ed.DefaultIfEmpty() select new { id = t1.id, createUid = t1.createUid, createDate = t1.createDate, writeUid = t1.writeUid, writeDate = t1.writeDate, companyId = t1.companyId, EmployeeCode = t2.PartnerCode, EmployeeName = t2.PartnerName, };

并序列化您的查询。将给出预期的结果

© www.soinside.com 2019 - 2024. All rights reserved.