3
如果我得到這個列表LINQ分組通過與左聯接結果
PersonPhone
------------------------------------------------------------
| **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分組,然後將所有PhoneNumbers加入列表和分頁。例如,如果我想要三頁的頁面大小,如果實際查詢返回4行,如何進行sql查詢以獲得John Doe,Mary Jane和J. Watson的手機?
注意:我沒有(也不能)使用實體框架,我正在做的是和SQL查詢,它們填充了一個列表PersonPhone,就像EF一樣。
如果我有更多的領域,我需要把所有這些領域進組的? –
那麼,如果這些字段將具有與這兩個值相同的值,並且希望將這些屬性保存爲投影的一部分,則我認爲使用這種方法很方便。另一種方法可以做到,例如,'g.First()。Name'來獲得組的第一個元素並獲得您需要的值 – octavioccl
謝謝,我遵循First()的示例,現在它正在工作。歡迎使用 –