我有一个包含多个表和一些存储过程的数据库,这些存储过程查询是否从各个表中获取特定数据以显示所需的信息。 下面是一个存储过程的示例:
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+'%')
我想从使用此类存储过程转向使用 Entity Framework 的更多基于代码的方法。如何使用 Linq 查询对映射到数据库的 dbContext 类重新创建类似上面的查询?
我主要在弄清楚如何选择我想要从每个表返回的数据以及如何将它们放在一起方面遇到问题。
最佳答案
您可以通过映射到数据库的 dbContext 类轻松地使用Linq 查询或lambda 表达式来完成此操作。
检查一下这会对你有帮助
Entity Framework Join 3 Tables
How to join multiple tables?
关于c# - Entity Framework - 如何查询多个表并选择要显示的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37166685/