c# - Entity Framework - 如何查询多个表并选择要显示的列

标签 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+'%')

我想从使用此类存储过程转向使用 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/

相关文章:

c# - C# 中是否可以使用基于堆栈的数组?

c# - 在 Unity 中,我什么时候应该使用协程而不是在 Update() 中减去 Time.deltaTime?

entity-framework - EF Code First验证唯一属性?

c# - Linq 缓慢具体化复杂查询

c# - 从 LINQ 查询返回一个结果

c# - 使用 c# 将 word 文件(.docx 和 doc)转换为 .pdf 不起作用

c# - 如何获取ParameterInfo值?

c# - DbEntityValidationException - 必填字段为空

c# - 使用 new 进行 linq 查询的更好方法

linq - 在 LINQ to EF 查询中构建动态 where 子句