gpt4 book ai didi

c# - 获取当前值和先前值

转载 作者:行者123 更新时间:2023-12-05 02:21:15 25 4
gpt4 key购买 nike

在下面的 LINQ 查询中,我想添加一个属性来获取之前的 Department 以及当前的 Department

下面的 LINQ 查询返回:

EffectiveDate EmployeeID  Department
11/4/2012 10 0000
1/14/2013 10 9121
2/2/2016 10 9123

我怎样才能像这样在当前部门旁边显示上一个部门

EffectiveDate EmployeeID  Department PreviousDepartment
11/4/2012 10 0000 null
1/14/2013 10 9121 0000
2/2/2016 10 9123 9121

这是当前查询

var users = from s in userTable
where s.EmployeeID == "10"
group new {s} by new { s.EmployeeID, s.Department} into g
select new
{
EffectiveDate = g.Max(m => m.s.EffectiveDate),
EmployeeID = g.Key.EmployeeID,
Department = g.Key.Department
//PreviousDepartment = ???
};

最佳答案

一种方法是将数据存储在内存中,然后像这样修改它:

var users = from s in userTable
where s.EmployeeID == "10"
group new {s} by new { s.EmployeeID, s.Department} into g
select new MyClass
{
EffectiveDate = g.Max(m => m.s.EffectiveDate),
EmployeeID = g.Key.EmployeeID,
Department = g.Key.Department
PreviousDepartment = null
};

var result = users.ToList();

for(int i = 1; i < result.Count; i++)
{
result[i].PreviousDepartment = result[i-1].Department;
}

请注意,代码正在生成 MyClass 的新实例而不是匿名类型,因为匿名类型属性是只读的。确保您使用正确的属性创建此类。

关于c# - 获取当前值和先前值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35711373/

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