Ich habe folgende Klassen:eine Liste Konvertieren
public class Header
{
public int Id { get; set; }
....
}
public class Item
{
public int Id { get; set; }
public int HeaderId { get; set; } //FK
public int ItemSequence { get; set; }
public string Value { get; set; }
...
}
Header
und Item
haben eine Eins-zu-viele-Beziehung (jeweils Header
hat viele Items
Ich habe folgende Items
:
{{Id=1, HeaderId=1, ItemSequence =1, Value="A"},
{Id=2, HeaderId=1, ItemSequence =2, Value="B"},
{Id=3, HeaderId=2, ItemSequence =1, Value="C"},
{Id=4, HeaderId=2, ItemSequence =2, Value="D"},
{Id=5, HeaderId=2, ItemSequence =3, Value="B"}}
Ich möchte eine Abfrage schreiben, um ein Wörterbuch zu finden, der Schlüssel ist zuerst ItemSequence
von jedem Header
(ItemSequence
= 1) und der Wert ist, andere ItemSequence
s Werte, in dem anderen Wort, das ich folgendes Ergebnis erreichen wollen:
Key: {HeaderId=1, ItemSequence =1} , Values : {"A","B"}
Key: {HeaderId=2, ItemSequence =1} , Values : {"C","D","B"}
Ich schrieb Abfrage folgende:
var result = ctx.Headers
.SelectMany(x => x.Items
.Select(t => new { t.Id,t.ItemSequence,t.HeaderId}))
.?
welcher Code sollte ich stattdessen verwenden ?
?