gpt4 book ai didi

c# - Linq 用整数列表连接对象列表

转载 作者:行者123 更新时间:2023-11-30 20:58:37 25 4
gpt4 key购买 nike

我有一个场景如下:

    Event:

public int EventId { get; set; }
public string EventName { get; set;}


MediaGallery:

public int MediaGalleryID { get; set; }
public string Name { get; set; }
public List<int> EventId { get; set;}


List<Event> eventList = query.Event.ToList();
List<MediaGallery> mediaGallreis = query.MediaGallery.ToList();

我需要检索 eventId 存在于 MediaGallery 的 eventID 列表中的 eventList。谁能给我建议?

最佳答案

尝试以下操作

var list = eventList
.Where(e => mediaGalleries.Any(mg => mg.EventId.Any(id => id == e.EventId)));

如果 mediaGalleriesMediaGallery::EventId 列表足够大,您可能需要考虑另一种方法。创建一组可能的值并直接查询该集合

var idSet = new HashSet(mediaGelleries.SelectMany(x => x.EventId));
var list = eventList.Where(e => idSet.Contains(e.EventId));

关于c# - Linq 用整数列表连接对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15975075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com