从 db 集到字典
本文关键字:字典 db | 更新日期: 2023-09-27 18:36:33
我有一个
DbSet<People>
我正试图把它变成一个
Dictionary<int, List<People>>
我的班级是
public People
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; } //this is key of dictionary
}
我想按年龄分组。因此,年龄将是列出同龄人名单的关键。这是获取我的列表的电话
var items = db.People.ToList();
我正在尝试使用ToDictionary方法,但我不确定这是否是正确的方法。似乎应该有一个 lambda 语句来实现这一点。
Dictionary<int, List<People> myDictionary = items.ToDictionary(p => p.Age, p => People);
您必须先使用GroupBy
:
var myDictionary = items.GroupBy(p => p.Age)
.ToDictionary(g => g.Key, g => g.ToList());
您也可以直接在上下文中执行此操作,将分组移动到数据库中,而不是在应用程序中执行它:
var myDictionary = db.People.GroupBy(p => p.Age)
.ToDictionary(g => g.Key, g => g.ToList());