2010-12-15 160 views
2

如何使用C#将这个SQL写入Linq to SQL。我无法将状态表加入ConsumerApplications和RepairOrderEstimates以正常工作。谢谢。Linq to SQL加入两个不同表的两次相同表

select ca.ConsumerAppID, 
     ca.LastName, 
     statConsumerApp.StatusName, 
     statRepairOrderEstimates.StatusName 
    from ConsumerApplications ca 
    join RepairOrderEstimates 
    on ca.RepairOrderEstimateID = RepairOrderEstimates.RepairOrderEstimateID 
    join Statuses statConsumerApp 
    on ca.StatusID = statConsumerApp.StatusID 
    join Statuses statRepairOrderEstimates 
    on RepairOrderEstimates.StatusID = statRepairOrderEstimates.StatusID 

回答

1

我认为你可以做的东西像这样

from ca in ConsumerApplications 
join est in RepairOrderEstimates on ca.RepairOrderEstimateID == est.RepairOrderEstimateID 
join statConsumerApp in Statuses on ca.StatusID == statConsumerApp.StatusID 
join statEstimate in Statuses on est.StatusID == statEstimate.StatusID 
select new { 
    ConsumerAppID = ca.ConsumerAppID, 
    LastName = ca.LastName, 
    AppStatus = statConsumerApp.StatusName, 
    EstimateStatus = statEstimate.StatusName, 
}