SQL to Entity Framework和LINQ [英] SQL to Entity Framework and LINQ

查看:76
本文介绍了SQL to Entity Framework和LINQ的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我正在尝试编写此SQL以在具有Entity Framework和C#的程序中使用但没有成功。

Hi, I am trying to write this SQL to be used in a program with Entity Framework and C# without success.

SELECT        Candidates.CandidateId,Candidates.TenantId,Candidates.FirstName,Candidates.MiddleName,Candidates.LastName,Candidates.SecondLastName,Candidates.CandidateStatusId,Candidates.DateofBirth,Candidates.Gender,&
                          Candidates.MaritalStatus,Candidates.Email,Candidates.Mobile,Candidates.Phone,CandidateQualifications.Name AS Type,CandidateStatus.Name AS Status,JobOpeningCandidates.JobOpeningId

FROM           候选人INNER JOIN

                          CandidateQualifications ON Candidates.CandidateQualificationId = CandidateQualifications.CandidateQualificationId INNER JOIN

                          CandidateStatus ON Candidates.CandidateStatusId = CandidateStatus.CandidateStatusId INNER JOIN

                          JobOpeningCandidates ON Candidates.CandidateId = JobOpeningCandidates.CandidateId

WHERE        (JobOpeningCandidates.JobOpeningId = 3)

SELECT        Candidates.CandidateId, Candidates.TenantId, Candidates.FirstName, Candidates.MiddleName, Candidates.LastName, Candidates.SecondLastName, Candidates.CandidateStatusId, Candidates.DateofBirth, Candidates.Gender, 
                         Candidates.MaritalStatus, Candidates.Email, Candidates.Mobile, Candidates.Phone, CandidateQualifications.Name AS Type, CandidateStatus.Name AS Status, JobOpeningCandidates.JobOpeningId
FROM            Candidates INNER JOIN
                         CandidateQualifications ON Candidates.CandidateQualificationId = CandidateQualifications.CandidateQualificationId INNER JOIN
                         CandidateStatus ON Candidates.CandidateStatusId = CandidateStatus.CandidateStatusId INNER JOIN
                         JobOpeningCandidates ON Candidates.CandidateId = JobOpeningCandidates.CandidateId
WHERE        (JobOpeningCandidates.JobOpeningId = 3)

推荐答案

嗨Krupskaia,

Hi Krupskaia,

如果您想通过LINQ的实体框架实现它,请参考以下代码。

If you want to achieve it via entity framework with LINQ, please refer to the following code.

using (var db = new EFDemoContext())
            {
                var result = from candidates in db.Candidates
                             join candidateQualifications in db.CandidateQualifications on candidates.CandidateQualificationId equals candidateQualifications.CandidateQualificationId
                             join candidateStatus in db.CandidateStatus on candidates.CandidateStatusId equals candidateStatus.CandidateStatusId
                             join jobOpeningCandidates in db.JobOpeningCandidates on candidates.CandidateId equals jobOpeningCandidates.CandidateId
                             where jobOpeningCandidates.JobOpeningId == 3
                             select new
                             {
                                 CandidateId = candidates.CandidateId,
                                 TenantId = candidates.TenantId,
                                 FirstName = candidates.FirstName,
                                 //other filed.
                                 Type = candidateQualifications.Name,
                                 Status = candidateStatus.Name,
                                 JobOpeningId = jobOpeningCandidates.JobOpeningId
                             };
            }

祝你好运,

张龙


这篇关于SQL to Entity Framework和LINQ的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆