c# - Linq to SQL 为两个不同的表两次连接到同一个表

标签 c# linq-to-sql join

如何使用 C# 在 Linq to SQL 中编写此 SQL。我无法使 ConsumerApplications 和 RepairOrderEstimates 的状态表连接正常工作。谢谢。

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

最佳答案

我想你可以用类似的东西来做到这一点

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,
}

关于c# - Linq to SQL 为两个不同的表两次连接到同一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4446163/

相关文章:

c# - ServiceBus 消息版本控制的最佳实践

sql - LINQ To SQL分页

mysql - 使用 MYSQL 关联表和 JOIN

sql - sql 中前 10 行的复杂连接

c# - Html.EditorFor() 不支持数据注释

c# - 如何为使用流作为参数的方法编写 unitTest

c# - 如何访问隐藏代码中的html控件

c# - 一对多投影 LINQ 查询重复执行

c# - LINQ 获得最高值并 + 1

PHP/mySQL - 如何将嵌套行提取到多维数组中