我有一个包含多个表和一些存储过程的数据库,用于查询是否从各个表中获取特定数据以显示所需信息。 查找下面的存储过程的一个示例:
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查询重新创建上述查询?
我在解决如何选择我想要从每个表格中返回的数据以及如何将它们放在一起时,我几乎遇到了问题。
答案 0 :(得分:1)
您可以通过映射到数据库的dbContext类轻松地执行 Linq查询或 lambda表达式。
检查这会对你有所帮助 Entity Framework Join 3 Tables