实体框架 - 如何查询多个表并选择要显示的列

时间:2016-05-11 15:08:11

标签: c# entity-framework linq

我有一个包含多个表和一些存储过程的数据库,用于查询是否从各个表中获取特定数据以显示所需信息。 查找下面的存储过程的一个示例:

SELECT DISTINCT             
    ROW_NUMBER() OVER (ORDER BY dbo.[table1].ReportedDate DESC) AS rowNumber,
    dbo.[table1].[id],
    dbo.[table1].caseReference,
    dbo.[table2].organisationName AS customerName,
    dbo.[table3].assetRegistration,
    dbo.[table4].surname
FROM dbo.[table1] WITH (NOLOCK)
LEFT JOIN   dbo.[table2] with (NOLOCK)
ON          dbo.[table2].JobId = dbo.[table1].[id]
LEFT JOIN   dbo.[table3] WITH (NOLOCK)
ON          dbo.[table3].id = dbo.[table2].[JobServiceId]
LEFT JOIN   dbo.[table4] WITH (NOLOCK)
ON          dbo.[table4].[jobID] = dbo.[table1].[id]
WHERE (table1.caseReference LIKE @caseReference+'%')

我想使用实体框架从使用此类存储过程转向更基于代码的方法。如何在映射到数据库的dbContext类上使用Linq查询重新创建上述查询?

我在解决如何选择我想要从每个表格中返回的数据以及如何将它们放在一起时,我几乎遇到了问题。

1 个答案:

答案 0 :(得分:1)

您可以通过映射到数据库的dbContext类轻松地执行 Linq查询 lambda表达式

检查这会对你有所帮助 Entity Framework Join 3 Tables
How to join multiple tables?