如果我得到了这个列表
PersonPhone
我需要将其映射到这个对象:
使用LINQ,如何为每个人获取一行数据,其电话号码在列表中,并进行分页?
我已经有一个查询,结果类似于PersonPhone结果集,但我不知道如何按PersonId分组,然后将所有电话号码连接到List中并进行分页。例如,如果我想要每页三个,如何编写sql查询以获取John Doe、Mary Jane和J. Watson及其电话,如果实际查询返回4行?
注意:我不是(也不能)使用Entity Framework,我正在使用一个sql查询来填充PersonPhone列表,就像EF一样。
------------------------------------------------------------
| **PersonId** |**Name** | **PhoneId** | **PhoneNumber** |
------------------------------------------------------------
| 1 | John Doe | 1 | 111-55-5855 |
------------------------------------------------------------
| 1 | John Doe | 2 | 111-55-5521 |
------------------------------------------------------------
| 2 | Mary Jane| 3 | 254-565-855 |
------------------------------------------------------------
| 3 | J. Watson| NULL| NULL|
------------------------------------------------------------
我需要将其映射到这个对象:
public class PersonContactInfo {
public int Id { get; set; }
public string Name { get; set; }
public List<string> Phones { get; set; }
}
使用LINQ,如何为每个人获取一行数据,其电话号码在列表中,并进行分页?
我已经有一个查询,结果类似于PersonPhone结果集,但我不知道如何按PersonId分组,然后将所有电话号码连接到List中并进行分页。例如,如果我想要每页三个,如何编写sql查询以获取John Doe、Mary Jane和J. Watson及其电话,如果实际查询返回4行?
注意:我不是(也不能)使用Entity Framework,我正在使用一个sql查询来填充PersonPhone列表,就像EF一样。
g.First().Name
之类的操作,以获取组的第一个元素并获取所需的值。 - ocuenca