Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否有任何方法可以比较列表对象并添加特定项_C#_Entity Framework Core - Fatal编程技术网

C# 是否有任何方法可以比较列表对象并添加特定项

C# 是否有任何方法可以比较列表对象并添加特定项,c#,entity-framework-core,C#,Entity Framework Core,我有一个列表,其中包含多个用户的订单详细信息,如StoreId、OrderTotal、dateModified等。我想添加属于同一日期但不同时间的订单总数 下面是从数据库中获取数据的代码。我还附上了我得到的输出 我试图做的一个例子是:如果08/09/2020有2个订单,那么我想添加orderValue。图像中的第三列表示订单值 公共异步任务OnGet() { 尝试 { StoreOrderDetails=新列表(); StoreOrderDetails2=新列表(); var res=awai

我有一个
列表
,其中包含多个用户的订单详细信息,如
StoreId
OrderTotal
dateModified
等。我想添加属于同一日期但不同时间的订单总数

下面是从数据库中获取数据的代码。我还附上了我得到的输出

我试图做的一个例子是:如果
08/09/2020
2个
订单,那么我想添加
orderValue
。图像中的第三列表示订单值

公共异步任务OnGet()
{
尝试
{
StoreOrderDetails=新列表();
StoreOrderDetails2=新列表();
var res=await UOW.CurrentContext.StoreOrder
.OrderBy(x=>x.OrderModified)
.ToListAsync();
foreach(资源中的var项目)
{
如果(item.Status.ToString()=“PaymentComplete”&&
item.StoreId==defaultStoreId)
{
StoreOrderDetails.Add(项目);
}
}
totalCount=StoreOrderDetails.Count();
StoreId=defaultStoreId;
GroupBy(x=>x.OrderModified)。选择(grpData=>
新店订单
{
OrderModified=grpData.Key,
OrderTotal=grpData.Sum(item=>item.OrderTotal),
});
}
抓住
{
}
返回页();
}

如果图像中的第一列是您在说
x=>x.OrderModified
时在代码中引用的日期,则只需按日期元素分组,不包括时间:

StoreOrderDetails.GroupBy(x => x.OrderModified.Date).Select(grpData =>
                                              ^^^^^
当你将一个日期分组时,如果它们之间的差异只有毫微秒,那么事件将分为不同的组。如果你想根据当天发生的所有事情对日期进行分组,那么你必须按日期分组,而不包括时间。最简单的方法是请求DateTime的Date属性——它是日期,但时间是午夜。如果你假装所有订单都发生在午夜,那么总数就会计算出来


哦,您实际上需要存储/使用组操作的结果…

因为您是一个专业的新手,请不要写空的catch块。他们会给你带来痛苦,阻止你学习。几乎可以肯定的是,完全不处理异常会更好。非常感谢@Aluan Haddad。我将删除catch或add异常处理程序。但是在这种情况下你能帮我吗。再次感谢。非常感谢@Caius为您的回复和时间所付出的努力。这实际上是图像中的第三列,是的,我想使用组操作的结果。你能帮我一下吗?我的意思是“如果第一列是你分组的数据”。图像很难处理,因为它没有任何标题。您知道LINQ分组是如何工作的吗?感谢您的回复和努力。你能看到正确的图像,否则我会上传一个新的。图像中的第一列是日期。我想用相同的日期值对第三列中的数据进行分组。我对Linq的工作原理有点了解,但不太了解,所以如果你能帮助你的图片没有标题,那就太好了,所以它让生活变得艰难。我以前确实说过。您说过要按日期分组,我发布的代码是按日期分组的,但我不能保证OrderModified属性中的数据是图像中的第一列-我只是猜测。如果不是,您需要使用不同的日期属性(例如x.OrderCreated.date-无论第一列日期是什么),谢谢大家。我想我已经弄明白了。没有你的指导和支持,这是不可能的。意义重大。
StoreOrderDetails.GroupBy(x => x.OrderModified.Date).Select(grpData =>
                                              ^^^^^