skj*_*ini 7 .net c# linq group-by
我有以下带有'group by'子句的Linq语句,并想知道如何引入let或任何其他语句以避免重复子查询,lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First()在下面的示例中
var completionTimeModels =
from timeline in processTimelines
group timeline by timeline.LifecycleEventId into grouping
select new CompletionTimeViewModel()
{
// How to avoid repeating the same query to find the life cycle event?
Name = lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First().LifecycleEventName,
DisplayName = lifecycleEvents.Where(i => i.LifecycleEventId == grouping.Key).First().LifecycleEventDisplayName
};
Run Code Online (Sandbox Code Playgroud)
var completionTimeModels =
from timeline in processTimelines
group timeline by timeline.LifecycleEventId into grouping
let foo = lifecycleEvents.First(i => i.LifecycleEventId == grouping.Key)
select new CompletionTimeViewModel()
{
Name = foo.LifecycleEventName,
DisplayName = foo.LifecycleEventDisplayName
};
Run Code Online (Sandbox Code Playgroud)