通过 linq 对组执行加入
Performing a join on a group by linq
我正在尝试执行分组依据,然后执行加入(根据此处其他帖子的建议),我在 .NET 5 中收到以下错误
'RelationalProjectionBindingExpressionVisitor' failed. This may
indicate either a bug or a limitation in Entity Framework.
代码:
var test = (from ra in _db.ResourceAllocation
group ra by new { ra.Date, ra.ResourceId } into g
join resource in _db.Resource on g.Key.ResourceId equals resource.Id
select new
{
ResourceName = resource.Name,
ResourceDayOfWeek = resource.DayOfWeek,
g.Key.Date,
userSum = g.Sum(x => x.userCount)
}).OrderByDescending(e => e.Date).ToList();
尝试简化 LINQ Translator 的使用并按部分分隔查询。此查询应该是可翻译的:
var grouped =
from ra in _db.ResourceAllocation
group ra by new { ra.Date, ra.ResourceId } into g
select new
{
g.Key.Date,
g.Key.ResourceId,
userSum = g.Sum(x => x.userCount)
}
var query =
from g in grouped
join resource in _db.Resource on g.ResourceId equals resource.Id
select new
{
ResourceName = resource.Name,
ResourceDayOfWeek = resource.DayOfWeek,
g.Date,
g.userSum
);
var result = query.OrderByDescending(e => e.Date).ToList();
我正在尝试执行分组依据,然后执行加入(根据此处其他帖子的建议),我在 .NET 5 中收到以下错误
'RelationalProjectionBindingExpressionVisitor' failed. This may indicate either a bug or a limitation in Entity Framework.
代码:
var test = (from ra in _db.ResourceAllocation
group ra by new { ra.Date, ra.ResourceId } into g
join resource in _db.Resource on g.Key.ResourceId equals resource.Id
select new
{
ResourceName = resource.Name,
ResourceDayOfWeek = resource.DayOfWeek,
g.Key.Date,
userSum = g.Sum(x => x.userCount)
}).OrderByDescending(e => e.Date).ToList();
尝试简化 LINQ Translator 的使用并按部分分隔查询。此查询应该是可翻译的:
var grouped =
from ra in _db.ResourceAllocation
group ra by new { ra.Date, ra.ResourceId } into g
select new
{
g.Key.Date,
g.Key.ResourceId,
userSum = g.Sum(x => x.userCount)
}
var query =
from g in grouped
join resource in _db.Resource on g.ResourceId equals resource.Id
select new
{
ResourceName = resource.Name,
ResourceDayOfWeek = resource.DayOfWeek,
g.Date,
g.userSum
);
var result = query.OrderByDescending(e => e.Date).ToList();