【问题标题】:Convert SQL Server query to LINQ lambda query for two different cols from two different table that are related将 SQL Server 查询转换为 LINQ lambda 查询,以获取来自两个相关的不同表的两个不同列
【发布时间】:2018-10-10 19:22:42
【问题描述】:

我有两个相关的表TABLE_ATABLE_B

我需要将此 SQL Server 查询转换为 C# 中的 LINQ lambda 查询:

SELECT a.COL1, a.COL2, b.COL2
FROM TABLE_A a, TABLE_B b
WHERE b.COL1 = A.COL3

其实b.col1是table_b中的pk,a.col3是table_a中的fk

【问题讨论】:

标签: c# sql sql-server linq lambda


【解决方案1】:

Navigation properties 很强大:

table_a.Select( a=> new {a.COL1 , a.COL2 , a.b.COL2} )

另外,你可以在“How to create a Minimal, Complete, and Verifiable example”学习如何写出更好的问题,我建议你仔细阅读帖子。

【讨论】:

  • 那么如何定义 a.b.col2 用于 table_b 并在 table_b 的 col 上应用条件......这就是我困惑的地方
【解决方案2】:

var q = (from a in table_A join b in table_B on b.col1 等于 a.col3 select new {a.COL1, a.COL2, b.COL2}).ToList();

【讨论】:

  • OP 要求 'LINQ lambda 查询'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-10
相关资源
最近更新 更多