【发布时间】:2021-03-16 11:14:50
【问题描述】:
我有以下型号:
public class EventList
{
Event[] Events {get; set;}
}
public class Event
{
EventType Type {get; set;}
Guid Id {get; set;}
IEnumerable<Accounts>? Accounts { get; set; }
IEnumerable<MetaData>? Metadata { get; set; }
IEnumerable<Roles>? Roles { get; set; }
}
现在,我想获取具有 EventType.Added 的数据,并且只想要那些与 Id 为 42 的角色相关的事件。
我这样做是为了排序只得到具有 EventType.Added 的它们:
var addedIdentities = eventList.Events.Where(x => x.EventType == IdentityEventType.AddedIdentity);
现在我想进一步排序,只获取属于 roleId 42 的事件的数据:
var identitiesByRoles = addedIdentities.Where(x => x.Roles.Where(y => y.RoleId == 42));
这显然不起作用,我真的不知道如何在 Linq 中以一种好的方式解决这个问题? 有什么建议吗?
【问题讨论】: