【发布时间】:2016-11-29 10:55:26
【问题描述】:
我是 LINQ 的新手。 我正在尝试加入一个表并在数据表中查看和显示结果。
考虑我的场景(数据库):
我的要求是在 DataTable 的 UI 上显示如下:
我尝试过以下左外连接(示例代码):`
var query = (
from request in DB.Request
join financeaprv in DB.DemoView on request.SurrogateID equals financeaprv.SurrogateID into financeaprvList
from financeaprv in financeaprvList.DefaultIfEmpty()
where financeaprv.ApproverType=="Finance"
join sysadmin in DB.DemoView on request.SurrogateID equals sysadmin.SurrogateID into sysadminList
from sysadmin in legalaprvList.DefaultIfEmpty()
where sysadmin.ApproverType=="Admin"
select new queryResult
{
FinanceApprv = financeaprv.ApproverName
Admin = sysadmin.ApproverName
}
`
但是没有成功。 谁能告诉我我的问题的 LINQ 查询是什么。 提前谢谢你。
【问题讨论】:
-
你不需要使用左连接,只使用连接,默认情况下 linq 会认为这是内连接,你只能通过内连接来实现。看到这个stackoverflow.com/questions/3217669/…
-
试过了。但它不会返回所有行。我认为我的问题需要子查询+加入。
-
这叫做pivoting,有很多关于它的问题。也许你能找到适合你的。
标签: c# sql-server linq join