gpt4 book ai didi

c# - 将值添加到缺少数据的列表

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

我正在创建一个用户使用特定过滤器次数的计数表。

为了做到这一点,我将日志条目添加到一个列表中,该列表当前仅包含已记录的值。

我用来执行此操作的代码如下所示:

public List<ViewItFilterUseCountModel> KeyIndicatorUseCount()
{
var ndtms2Utils = new NDTMS2UtilsEntities();

var valueQuery = (from keyIndicators in ndtms2Utils.spr_KeyIndicator_Views_Count()
select keyIndicators);

List<ViewItFilterUseCountModel> keyIndicatorUseCountList = new List<ViewItFilterUseCountModel>();

foreach (var value in valueQuery)
{
ViewItFilterUseCountModel model = new ViewItFilterUseCountModel();
model.LogDate = value.LogDate;
model.MonthYear = value.MonthYear;
model.Name = value.KeyIndicator;
model.Count = value.KeyIndicatorCount;

keyIndicatorUseCountList.Add(model);
}

return keyIndicatorUseCountList;
}

我需要检查 MonthYear 和 Name 变量的每个组合是否存在数据,如果没有该组合的条目,我需要在列表中创建一行并将 Count 变量设置为 null。

我该怎么做?

最佳答案

KeyIndi​​catorUseCount 方法中添加下面的代码,在 keyIndi​​catorUseCountList 列表中填入数据库中的数据。代码插入缺失的条目。

var allNames = keyIndicatorUseCountList
.Select(i => i.Name).Distinct().ToList();

var allMonthYears = keyIndicatorUseCountList
.Select(i => i.MonthYear).Distinct().ToList();

var allNamesMonthYears = allNames
.SelectMany(n => allMonthYears, (n, m) => (Name: n, MonthYear: m));

var missingEntries = allNamesMonthYears.
Except(keyIndicatorUseCountList.Select(i => (i.Name, i.MonthYear)));

foreach (var entry in missingEntries)
{
ViewItFilterUseCountModel model = new ViewItFilterUseCountModel();
model.MonthYear = entry.MonthYear;
model.Name = entry.Name;
model.Count = 0;
keyIndicatorUseCountList.Add(model);
}

关于c# - 将值添加到缺少数据的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56430369/

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