【发布时间】:2020-05-20 18:18:52
【问题描述】:
我很难尝试使用 LINQ 查询 sql 数据库,以便将一个表中与另一个表中的对象 (a) 关联的所有对象 (b) 分组为具有 (a) 和(b) 的列表。本质上,我有一个包含报价表的数据库,以及另一个包含与这些报价相关的操作历史记录的表。我想做的是以这样一种方式对它们进行分组,即我有一个包含每个报价的匿名类型列表,以及对该报价采取的每项操作的列表,因此签名将是:
List<'a>
其中'a is new { Offer offer, List<OfferHistories> offerHistories}
这是我最初尝试的方法,显然行不通
var query = (from offer in context.Offers
join offerHistory in context.OffersHistories on offer.TransactionId equals offerHistory.TransactionId
group offerHistory by offerHistory.TransactionId into offerHistories
select { offer, offerHistories.ToList() }).ToList();
通常我不会带着这么少的信息来 SE,但我尝试了许多不同的方法,不知道如何继续。
【问题讨论】:
-
你应该使用
GroupJoin,而不是group- 在join之后放置一个into。
标签: c# linq linq-to-sql