Ich habe eine Liste von Artikeln. Die Klasse wie folgt aussieht:Group By Linq Ausgabe
public class DeviceControllerDoorInfo
{
[DataMember]
public string DeviceControllerId { get; set; }
[DataMember]
public string DeviceControllerName { get; set; }
[DataMember]
public string DoorId { get; set; }
[DataMember]
public string DoorName { get; set; }
}
Und die Daten wie folgt aussieht:
DoorId DoorName ControllerId ControllerName
------ -------- ------------ --------------
Door1 DoorOne C1 C1
Door2 DoorTwo C1 C1
Door3 DoorThree C2 C2
ich es will umgewandelt werden, wie es aussehen.
public class AccessGroupControllerDoorEntity
{
public string ControllerId { get; set; }
public string ControllerName { get; set; }
public List<AccessGroupDoorEnity> Doors { get; set; }
}
public class AccessGroupDoorEnity
{
public string DoorId { get; set; }
public string DoorName { get; set; }
}
Gruppe Durch die ControllerId
und dann die Tür Elemente auflisten.
Wie geht das?
Ich habe versucht:
var controllersId = allDoors.GroupBy(e => e.DeviceControllerId).Select(x => x);
Aber ist es die Türen als Liste machen?
Ich bin mir nicht sicher. Bitte helfen Sie.
UPDATE
In meinem Data Service
private AccessGroupEntity ConvertDoorsToEntity(DeviceControllerDoorInfo[] allDoors)
{
// return null if the object is invalid.
if (allDoors != null)
{
AccessGroupEntity entity = new AccessGroupEntity();
entity.ControllerDoorItems = new List<AccessGroupControllerDoorEntity>();
//Convert to requested format instead of the below
foreach (var door in allDoors)
{
entity.DoorItems.Add(new DoorInfoEntity
{
DoorId = door.DoorId,
DoorName = door.DoorName,
ControllerId = door.DeviceControllerId,
ControllerName = door.DeviceControllerName
});
}
return entity;
Aber stattdessen möchte ich entity.ControllerDoorItems
wie die unten gruppierten Daten enthalten:
ControllerId -> C1
ControllerName -> C1
Doors -> 2 Objects
Sie müssen GroupBy verwenden, wie Sie im Titel angegeben. Mache dir entweder etwas Mühe oder gib an was genau dein Problem hier ist? – CSharpie
Was ist die Frage hier? Bitte klären Sie genau, wonach Sie fragen. Fragen Sie, wie man 'controllersId' zu einer Liste macht? Fragen Sie, wie Sie Ihre Daten gruppieren? Wenn ja, dann sagen Sie uns bitte, wie es aussehen soll "wie es aussieht" ist keine gute Beschreibung, da "es" nicht angegeben ist. "Wie es geht?" ist auch keine gute Problembeschreibung. Was ist "es" hier? –
@ LasseV.Karlsen Finden Sie die aktualisierte Frage. – StrugglingCoder