gpt4 book ai didi

c# - 基于其他整数列表控制 LINQ 查询顺序

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:59 25 4
gpt4 key购买 nike

我正在执行 LINQ 查询,从表视频中选择视频信息。查询仅选择 ID 出现在以下列表中的那些视频:

List<int> results; //Has some values
var query = from l in dataContext.Videos
where results.Contains(l.ID)
select l;

现在如何对查询中的项目(视频信息)进行排序,使其 ID 遵循与列表结果相同的顺序?

我可以这样做:

List<int> results; //Has some values
var query = from k in results
from l in dataContext.Videos
where k==l.ID
select l;

但这很慢,我需要更快的东西。

最佳答案

使用join,速度更快

var orderedByIDList = from k in results
join l in dataContext.Videos
on k equals l.Id
select l;

根据@MarcinJuraszek 和@Phil 的评论添加/编辑,谢谢大家。

基本上是先获取数据,然后进行排序,所以这就是我得到的:

var myList = (from l in dataContext.Videos
where results.Contains(l.ID)
select l).ToList(); //grab data and resolve to list or array

var orderedByIDList = from k in results
join l in myList
on k equals l.Id
select l; //result type IEnumerable<Video>

关于c# - 基于其他整数列表控制 LINQ 查询顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15441260/

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