gpt4 book ai didi

c# - LINQ 查询返回

转载 作者:行者123 更新时间:2023-11-30 16:04:40 25 4
gpt4 key购买 nike

我正在使用 highcharts 来显示一些数据...但是由于我的查询没有以正确格式返回某些图表的数据,我遇到了问题。

年键值
2011重点1 5
2011年Key2 10
2012重点1 12
2012 Key2 8
2013 重点1 3

这是我的部分查询:

XAxisList = db.Datas.Where(w => w.CategoryID == measurementID).Select(x => x.Year).Distinct(),
Data = from d in db.Datas
where d.CategoryID == measurementID
group d by d.DataKey into g
select new
{
Key = g.Key,
Values = g.Select(s => s.Value)
}

这是我的 linq 查询返回的内容:

"XAxisList": [
"2011",
"2012",
"2013"
],
"Data": [
{
"Key": "Key1",
"Values": [
"5",
"12"
"3"
]
},
{
"Key": "Key2",
"Values": [
"10",
"8"
]
}
]

我如何在 Key2 值中添加“空”数组值,使其如下所示?

"XAxisList": [
"2011",
"2012",
"2013"
],
"Data": [
{
"Key": "Key1",
"Values": [
"5",
"12"
"3"
]
},
{
"Key": "Key2",
"Values": [
"10",
"8",
**null**
]
}
]

预先感谢您的帮助!

最佳答案

根据您的数据集,这根本无法完成。如果您的数据集包含以下记录

2013 Key2 为空

那就没有问题了。

如果您考虑以下几点,您就会理解为什么不能这样做:

group d by d.DataKey into g

你在那里做什么?

您正在根据 DataKey 属性对记录进行分组。由于有两个不同的键,key1key2,因此会有两组。 key1 组将有三个记录,key2 组将有两个记录。

此外,我看不出有什么方法可以克服这个问题。正如我从您的数据中了解到的那样,您对某些键有一些年度值,并且您想使用它们来创建图表。

现在缺少 key2 和年份 2013 的值。所以你认为如果你可以在相应序列的末尾添加一个 null 一切都会好起来。

{
"Key": "Key2",
"Values": [
"10",
"8",
"null"
]
}

有没有想过2012年缺一个值会是什么情况?这将是完全一样的!因此,在 Values 数组末尾添加 null 没有任何意义。

如果 Year 值是特定的或在特定范围内,我可以想出一个主意,但我不确定情况是否如此。

关于c# - LINQ 查询返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34686639/

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