我有一個記錄列表,其中一些具有相同的記錄ID。我想按照該記錄ID進行分組,並將其餘的屬性設置爲列表和一些字符串。這是我希望創建的對象:Group通過一個屬性,製作一個重複的列表
public class Product {
public string Id{ get; set; }
public List<string> Package { get; set; }
public string ShortDescription { get; set; }
}
而且我要來處理這樣的記錄:
list_Of_Records = [ { id: 123, Package: ABC, ShortDescription: Description },
{ id: 123, Package: ZXY, ShortDescription: Description },
{ id: 123, Package: MLO, ShortDescription: Description },
{ id: 456, Package: ABC, ShortDescription: DescriptionTwo },
{ id: 456, Package: ZXY, ShortDescription: DescriptionTwo },
{ id: 456, Package: MLO, ShortDescription: DescriptionTwo },
]
而且我倒是喜歡這個樣子:
list_Of_Records_Organized = [
{ Id: 123, Package: [ABC, ZXY, MLO], ShortDescription: Description },
{ Id: 456, Package: [ABC, ZXY, MLO], ShortDescription: DescriptionTwo }
]
對於每個ID,描述總是相同的,所以我可以選擇其中的任何一個。問題是那些軟件包!
希望我很清楚。
謝謝!這工作!必須將SelectMany更改爲Select,並添加ToList,但完美地工作。 –
@fede_rosario對不起,我誤解了。我認爲'r.Package'是一個'List'。我已經相應地更新了答案。 –
是的,我也是這樣做的。如果想法是使用列表,然後是具有分組包值的新列表,那麼包必須是列表,並且需要SelectMany。我寫了同樣的查詢,但沒有發佈點,因爲這個答案完美地處理它。 –