谁能将此linq代码转换为SQL查询(因为我不知道它在做什么)?

时间:2019-05-29 08:32:21

标签: c# linq linq-to-sql

var don2 = db.Panels.Include(y => y.Invoice)
                    .Include(x => x.PanelTypeEntries
                                   .Select(a => a.SubItems))
                    .Where(v => v.Invoice_Id == Quotation_Id)
                    .ToList();

1 个答案:

答案 0 :(得分:0)

这是LinQ的工作内容:

代码正在使用您的dbContext的Panels实体集,这意味着数据库中的Panels表。

然后,您将包含一个Invoice实体,因为它是面板之一。它很可能是另一个与Panels有关系的表。

您还将包括PanelTypeEntries实体的Panels集合。您的数据库中的这些表之间可能具有N-N关系。在包含PanelTypeEntries的同时,您只是在选择其SubItems属性。可能是因为Panels不包含PanelTypeEntries的列表,而是包含SubItems的列表。

where()子句与SQL中的子句相同。

最后,ToList()要求提供者执行该请求并将其存储在List中。这就是var don2的类型为列表的原因。