Tun*_*Tun 2 c# linq asp.net lambda asp.net-mvc-3
我有一个场景如下:
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();
Run Code Online (Sandbox Code Playgroud)
我需要检索 MediaGallery 的 eventID 列表中存在 eventId 的 eventList。谁能给我建议?
尝试以下
var list = eventList
.Where(e => mediaGalleries.Any(mg => mg.EventId.Any(id => id == e.EventId)));
Run Code Online (Sandbox Code Playgroud)
如果mediaGalleries或MediaGallery::EventId列表足够大,您可能需要考虑替代方法。创建一组可能的值并直接查询该集合
var idSet = new HashSet(mediaGelleries.SelectMany(x => x.EventId));
var list = eventList.Where(e => idSet.Contains(e.EventId));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5570 次 |
| 最近记录: |