gpt4 book ai didi

C# linq查询数据表take方法

转载 作者:行者123 更新时间:2023-11-30 21:03:07 26 4
gpt4 key购买 nike

我无法从下面的 linq 查询调用 take 方法

var data = from tb in table.AsEnumerable()
join ch in channelTable.AsEnumerable() on syskey equals (DateTime)ch["syskey"]
orderby Convert.ToDouble(tb[(string.Format("Channel{0}_data",Convert.ToInt32(ch["Channel_No"])))]) descending
select new
{
Channel_No = ch["Channel_No"],
Channel_data = tb[string.Format("Channel{0}_data", Convert.ToInt32(ch["Channel_No"]))],
};

如何从上面的 linq 查询中添加 Take(5)?

最佳答案

就像:

var top5 = data.Take(5);

也可以在同一语句中执行此操作,但它有点难看:

var data = (from tb in table.AsEnumerable()
join ch in channelTable.AsEnumerable() on syskey equals (DateTime)ch["syskey"]
orderby Convert.ToDouble(tb[(string.Format("Channel{0}_data",Convert.ToInt32(ch["Channel_No"])))]) descending
select new
{
Channel_No = ch["Channel_No"],
Channel_data = tb[string.Format("Channel{0}_data", Convert.ToInt32(ch["Channel_No"]))],
}).Take(5);

请注意,此处按字符串 排序可能不会满足您的要求,除非您的值都是个位数——您真的想要 channel3、channel2、channel10、channel1 吗?

虽然这是一个非常奇怪的查询 - 特别是因为您的连接没有使用第一个表中的任何内容...

关于C# linq查询数据表take方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024326/

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