c# - 按外键分组并选择 (LINQ)

标签 c# sql-server linq

我有 2 张 table :

Table1: Id_tb1 (PK), Title1.

Table2: Id_tb2 (PK), Id_tb1 (FK),Title2.

所以table2的简单查询可以这样写:

from p in table2 select new { p.Id_tb2, Title1 = p.Table1.Title1 }

当使用 group by FK 列时,如何在我的 Select 中获取 Title1?像这样的东西:

from p in table2 group p by p.Id_tb1 into g select g.Table1.Title1

最佳答案

试试这个:

var result =
    from p in table2
    group p by p.Table1 into g
    select g.Key.Title1;

这按 Table1 实体进行分组,而不仅仅是 ID。

g.Key 允许您访问组 key ,它是每个组的 Table1 实体。

关于c# - 按外键分组并选择 (LINQ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34813876/

相关文章:

c# - 仅从完整文件名 c# 写入相对文件名

c# - 如何将自定义窗口窗体置于安装项目窗口顶部?

java - 使用 hibernate/jdbc 以值/对象列表作为参数从 java 代码调用存储过程

sql-server - varchar 列上的 Min() 和 Max() 行为不一致

linq - 带 Take 和不带 Take 的 linq 查询有什么区别?

c# - .NET IO 异常 "Invalid Signature"

c# - 在后面的代码中获取 jquery ui 对话框的值

sql-server - Pentaho 与 Microsoft BI Stack

c# - 实现 Entity Framework 6 添加或更新方法的最简单方法是什么

c# - 在 C# 中使用扩展方法与 lambda 表达式