如何解决在2个表之间添加3个不同的列,并在C#中添加它们的值?
我有2张不同的桌子
表1
表2
我想做的是将子行分配给父行,并累加field2,field3,field4和field5的数量,以便数量可以匹配,这里的问题是有时值表2的内容不相同,我无法正确匹配它们,我的问题是,是否有一种算法可以执行类似的操作或可以实现此匹配?
我附上代码,我需要添加3列,如果总和与主行不匹配,请将其删除并与另一行重新匹配,但是当我尝试添加另一行时,则不起作用>
public class MyClass
{
public int ID { get; set; }
public string Field1 { get; set; }
public int Field2 { get; set; }
public double Field3 { get; set; }
public double Field4 { get; set; }
public double Field5 { get; set; }
}
static void Main(string[] args)
{
var parentRow = new List<MyClass>()
{
new MyClass(){ ID=90148001,Field1="BLABLA",Field2=12,Field3=32710,Field4=3728.175,Field5=32710.06185 }
};
var childrenRows = new List<MyClass>()
{
new MyClass(){ ID=90148001,Field2=1,Field3=2176,Field5=2176.435074 },new MyClass(){ ID=90148001,Field3=2306,Field5=2305.716285 },Field3=2531,Field5=2531.271196 },Field3=1147,Field5=1146.803622 },Field3=1991,Field5=1990.613246 },Field3=3641,Field5=3641.394446 },Field3=2471,Field5=2470.8253 },Field3=2247,Field5=2246.984815 },Field3=3161,Field5=3161.305705 },Field3=6577,Field5=6577.273612 },};
var data = childrenRows.GroupBy(c => c.ID,c => c.Field3).ToDictionary(g => g.Key,g => g.Aggregate((s,c) => s + c));
foreach (var aparent in parentRow)
{
double sum;
data.TryGetValue(aparent.ID,out sum);
if (sum == aparent.Field3)
{
Console.WriteLine(sum);
}
}
}
是这样的,只不过是增加时间而已,但就我而言,我想加3个不同的列,Click here
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。