私はアイテムのリストを持っています。クラスは次のようになります。グループLinq発行
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; }
}
、データは次のようになります。
DoorId DoorName ControllerId ControllerName
------ -------- ------------ --------------
Door1 DoorOne C1 C1
Door2 DoorTwo C1 C1
Door3 DoorThree C2 C2
私はそれのように見えるように、それを変換することにしたいです。
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; }
}
グループControllerId
でグループ化し、ドアアイテムを一覧表示します。
どうすればよいですか?
は、私が試した:
var controllersId = allDoors.GroupBy(e => e.DeviceControllerId).Select(x => x);
しかし、それはリストとしてドアを作るのですか?
わかりません。助けてください。私のデータサービス
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;
で
UPDATE
しかし、その代わりに、私はentity.ControllerDoorItems
は、以下のグループ化されたデータのように含まれるようにする:あなたはGroupBy(e => e.ControllerId)
それを使用する場合
ControllerId -> C1
ControllerName -> C1
Doors -> 2 Objects
あなたはタイトルに記載されているようにGROUPBYを使用する必要があります。あなた自身の努力を示しているか、ここであなたの問題が何であるかを明記してください。 – CSharpie
ここで質問は何ですか?何を求めているのかを明確にしてください。 'controllersId'をリストにする方法を尋ねていますか?あなたのデータをグループ化する方法を尋ねていますか?そうであれば、 "それが似ている"ように見えるようにするには、 "それ"が指定されていないので、良い説明ではないことを教えてください。 "どうやってするの?"いずれか良い問題の説明ではありません。ここに「それ」とは何ですか? –
@ LasseV.Karlsen更新された質問を見つけてください。 – StrugglingCoder