Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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# 基于linq查询的结果更新属性_C#_Linq - Fatal编程技术网

C# 基于linq查询的结果更新属性

C# 基于linq查询的结果更新属性,c#,linq,C#,Linq,我试图使用linq对一些数据进行分组,然后根据查询中的值更新属性 e、 g 查询工作正常,但执行foreach循环TransactionDetail.ProgressBar时未更新 你能看出我做错了什么吗?这里一个可能的问题是等式的以下部分 (230 / item.PurchasesRequired) item.PurchasesRequired是一个整数,因此如果它大于230,结果将是0,当您将0乘以item.TransactionMount时,无论TransactionMount值如何,它

我试图使用linq对一些数据进行分组,然后根据查询中的值更新属性

e、 g

查询工作正常,但执行foreach循环TransactionDetail.ProgressBar时未更新


你能看出我做错了什么吗?

这里一个可能的问题是等式的以下部分

(230 / item.PurchasesRequired)
item.PurchasesRequired是一个整数,因此如果它大于230,结果将是0,当您将0乘以item.TransactionMount时,无论TransactionMount值如何,它仍然是0。即使所需的PurchasesRequired低于230,也会使其变得非常不精确,因为所需的PurchasesRequired为230和120会给出相同的结果

试着形成如下公式:

(int)((230*item.TransactionAmount) / item.PurchasesRequired)

什么是交易?这是LINQ到对象还是LINQ到SQL

当对象在列表中循环时,可能无法修改该对象的属性。尝试将.ToList添加到列表中,如下所示:

var list = (from c in Transactions() 
           group c by c.StoreID into g 
           select new TransactionDetail{  
               Description = g.FirstOrDefault().Descrip, 
               BusinessName = g.FirstOrDefault().BusinessName, 
               TransactionAmount = g.Where(cr => cr.EntryType == cnCommon.INSERT_ENTRY).Sum(cr=>cr.TransactionAmount).Value, 
               PurchasesRequired = g.FirstOrDefault().PurchasesNeeded  
                }).ToList(); 

然后循环查看结果。

感谢公式提示:但是如果我在lstTransactions.DataSource=list.ToList上放置断点;foreach循环中的任何更改都未应用
var list = (from c in Transactions() 
           group c by c.StoreID into g 
           select new TransactionDetail{  
               Description = g.FirstOrDefault().Descrip, 
               BusinessName = g.FirstOrDefault().BusinessName, 
               TransactionAmount = g.Where(cr => cr.EntryType == cnCommon.INSERT_ENTRY).Sum(cr=>cr.TransactionAmount).Value, 
               PurchasesRequired = g.FirstOrDefault().PurchasesNeeded  
                }).ToList();