我目前有这个数据表的示例:
ID | Policy ID | History ID | Policy name
1 | 1 | 0 | Test
2 | 1 | 1 | Test
3 | 2 | 0 | Test1
4 | 2 | 1 | Test1
基于此,我想按照政策ID和历史ID(最大值)进行分组,因此我想保留的记录是ID为2和4的记录:
ID | Policy ID | History ID | Policy name
2 | 1 | 1 | Test
4 | 2 | 1 | Test1
我尝试使用LINQ完成这个任务,但每次都遇到同样的问题。我可以对实体进行分组,但总是得重新定义属性,而不能从我的Policy对象中保留它们。例如:
var policies = _context.Policies.GroupBy(a => a.intPolicyId)
.Select(group => new {
PolicyID = group.Key,
HistoryID = group.Max(a => a.intHistoryID)
});
这只是列出了具有“策略ID”和“历史记录ID”的对象列表。我想要从Policies对象返回所有属性,而不必重新定义它们,因为该对象中有大约50个以上的属性。
var policies = _context.Policies.GroupBy(a => a.intPolicyId)
.Select(group => new {
PolicyID = group.Key,
HistoryID = group.Max(a => a.intHistoryID)
PolicyObject = group;
});
但是这个出错了。
有什么想法吗?