【发布时间】:2016-07-10 09:50:28
【问题描述】:
在我下面的代码中,我想获得 Invoices 及其汇总的 InvoiceLine 总数,以及与每个 Invoice 关联的 Tracks 列表。
var screenset =
from invs in context.Invoices
join lines in context.InvoiceLines on invs.InvoiceId equals lines.InvoiceId
join tracks in context.Tracks on lines.TrackId equals tracks.TrackId
group new { invs, lines, tracks }
by new
{
invs.InvoiceId,
invs.InvoiceDate,
invs.CustomerId,
invs.Customer.LastName,
invs.Customer.FirstName
} into grp
select new
{
InvoiceId = grp.Key.InvoiceId,
InvoiceDate = grp.Key.InvoiceDate,
CustomerId = grp.Key.CustomerId,
CustomerLastName = grp.Key.LastName,
CustomerFirstName = grp.Key.FirstName,
CustomerFullName = grp.Key.LastName + ", " + grp.Key.FirstName,
TotalQty = grp.Sum(l => l.lines.Quantity),
TotalPrice = grp.Sum(l => l.lines.UnitPrice),
Tracks = grp.SelectMany(t => t.tracks)
};
但是,在最后一行中,我做了一个 SelectMany 给我一个错误:
Tracks = grp.SelectMany(t => t.tracks)
错误:
类型参数不能从用法中推断出来。尝试明确指定类型参数。
有什么想法吗?
提前致谢。
【问题讨论】:
-
也许this question 也会回答你的问题。
标签: c# entity-framework linq linq-to-entities