Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在实体框架中分别为每个人分组数据?_C#_Entity Framework - Fatal编程技术网

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()
    }
);