C# 使用LINQ连接多个表

C# 使用LINQ连接多个表,c#,.net,linq,C#,.net,Linq,我正在尝试将此查询转换为LINQ查询: select proj.CustomerName, proj.projectid, ProjectNumber, oe.FullName, oe.Rate, oe.jobid, opj.BillRate, hours.Hours, hours.WeekStart from RMT_TaskEmployeeHours hours join OracleEmployees oe on hours.EmployeeNu

我正在尝试将此查询转换为LINQ查询:

select proj.CustomerName, proj.projectid, ProjectNumber, oe.FullName, oe.Rate, oe.jobid, opj.BillRate, hours.Hours, hours.WeekStart 
    from RMT_TaskEmployeeHours hours

        join OracleEmployees oe
        on hours.EmployeeNumber = oe.EmployeeNumber

            join OracleProjectTasks tasks
            on hours.TaskId = tasks.TaskID

                join OracleProjects proj
                on tasks.ProjectID = proj.ProjectID

                    left join OracleProjectJobs opj
                    on opj.ProjectID = proj.ProjectID
                    and oe.jobid = opj.JobID
                    where oe.Office  like '%san francisco%'
                    and opj.EndDate is null
                    and WeekStart > '2015-1-22' and WeekStart < '2015-2-19'
你为什么不试试呢


尝试查找Linqer的教程。这将帮助您开始将SQL写入LINQ。

欢迎使用堆栈溢出!你能为你的问题补充更多细节吗?我们不知道您的数据或模式是什么样子。什么类型的LINQ?并请显示具有导航属性的类。用LINQ语法连接几乎是不必要的。什么,特别是你不知道怎么做?您正在努力将查询的哪一部分转换为LINQ?请在opj.projectd=proj.projectd和oe.jobid=opj.jobid上左键加入OracleProjectJobs opj,其中oe.Office(如“%san francisco%”和opj.EndDate)为空,WeekStart>“2015-1-22”WeekStart<'2015-2-19'你真的应该花更多的精力跟进评论。大多数评论都是来自那些真正想帮忙的人,但只是为了给出最好的答案而要求澄清。你只是重复了问题的一部分,作为对Servy评论的回应。您没有告诉任何关于导航属性的信息,而它们在这里是绝对必要的。也许你不知道什么是导航属性?好吧,尽管问吧。趁人们还在的时候抓住机会。这里的问题很快就被遗忘了。
var test = db.RMT_TaskEmployeeHours.
                   Join(
                       db.OracleEmployees,
                       hours => hours.EmployeeNumber,
                       oe => oe.EmployeeNumber,
                       (hours, oe) => new {hours, oe}).
                   Join(
                        db.OracleProjectTasks,
                        oh => oh.oe.
                   ).