C# 如何在实体框架中分别为每个人分组数据?
我有一个基本类:C# 如何在实体框架中分别为每个人分组数据?,c#,entity-framework,C#,Entity Framework,我有一个基本类: public class Base { public string Name {get;set;} public DateTime StartDate {get;set;} public DateTime EndDate {get;set;} } 并获取当前列表数据: 姓名:个人1,开始日期2016年12月27日,结束日期2016年12月28日 姓名:Person2,开始日期:21/12/2016,结束日期:22/12/2016 姓名:Person2,
public class Base
{
public string Name {get;set;}
public DateTime StartDate {get;set;}
public DateTime EndDate {get;set;}
}
并获取当前列表数据:
- 姓名:个人1,开始日期2016年12月27日,结束日期2016年12月28日
- 姓名:Person2,开始日期:21/12/2016,结束日期:22/12/2016
- 姓名:Person2,开始日期:17/12/2016,结束日期:20/12/2016
- 姓名:人事1,开始日期:2017年11月21日,结束日期:2017年11月22日
public class Person
{
public string Name {get;set;}
public List<PersonDates> Dates {get;set}
}
public class PersonDates
{
public DateTime StartDate {get;set;}
public DateTime EndDate {get;set;}
}
公共类人物
{
公共字符串名称{get;set;}
公共列表日期{get;set}
}
公共阶层人士
{
公共日期时间起始日期{get;set;}
公共日期时间结束日期{get;set;}
}
我的问题是,我想要每个人的日期列表
如何使用实体框架lambda表达式实现这一点,有什么建议吗?分别从数据库中获取所有
Base
对象,并将它们分别分组
bases
.GroupBy(x=>x.Name)
.Select(x=>
new Person
{
Name =x.Key,
PersonDates = x.Select(
y=>new PersonDates{
StartDate=y.StartDate,
EndDate =y.EndDate})
.ToList()
}
);