按外键分组并选择 (LINQ)
本文关键字:选择 LINQ | 更新日期: 2023-09-27 18:30:30
我有 2 个表:
表1:Id_tb1(PK),标题1。
表2:Id_tb2(PK),Id_tb1(FK),标题2。
所以 table2 的简单查询可以这样写:
from p in table2 select new { p.Id_tb2, Title1 = p.Table1.Title1 }
如何在"按 FK 选择使用组时"列中获取 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
允许您访问组键,这是每个组的Table1
实体。
你可以试试这个:
var result = from p in table2 group p.Table1.Title1 by p.Id_tb1 into g select g.ToList();
此查询将返回每个组Title1
的列表。
如果需要选择多个属性,请执行以下操作:
var result = from p in table2 group p by p.Id_tb1 into g select g.Select(e=>new { e.Id_tb2, Title1 = e.Table1.Title1 });