С#, как получить таблицу данных из IQueryable, включая списки нескольких объектовC#

Место общения программистов C#
Ответить
Anonymous
 С#, как получить таблицу данных из IQueryable, включая списки нескольких объектов

Сообщение Anonymous »

У меня есть список IQueryable, который включает в себя несколько списков объектов. Я хочу получить DataTable из списка и отобразить его в виде таблицы.

Код: Выделить всё

IQueryable loads;

public class Load
{
public int LoadID { get; set; }
public string CustomerName { get; set; }
public List
 ShipperPickUps { get; set; }
public List ConsigneeDelivers { get; set; }
public List ReferenceNumbers { get; set; }
// ...
}

public class PickUp
{
public int? LoadID { get; set; }
public int? ShipperID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
// ...
}

public class Deliver
{
public int? LoadID { get; set; }
public int? ConsigneeID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
// ...
}
Теперь данные такие

Код: Выделить всё

IQuery:
{
{
LoadID:1,
LoadNumber:"0001",
CustomerName:"Customer1",
Pickup:
{
{ LoadID: 1, ShipperID: 1, Name: "Shipper1"...},
{ LoadID: 1, ShipperID: 2, Name: "Shipper2"...},
...
}
Deliver:
{
{ LoadID: 1, ConsigneeID: 1,Name: "Consignee1"...},
{ LoadID: 1, ConsigneeID: 2,Name: "Consignee2"...},
...
}
ReferenceNumbers:
{
"Reference1",
"Reference2",
...
}
},
{
LoadID:2,
LoadNumber:"0002",
CustomerName:"Customer2",
Pickup:
{
{ LoadID: 2, ShipperID: 3, Name:"Shipper3"...},
{ LoadID: 2, ShipperID: 4, Name:"Shipper4"...},
...
}
Deliver:
{
{ LoadID: 2, ConsigneeID: 3, Name:"Consignee3"...},
{ LoadID: 2, ConsigneeID: 4, Name:"Consignee4"...},
...
}
ReferenceNumbers:
{
"Reference3",
"Reference4",
...
}
},
...
}
Я определил класс:

Код: Выделить всё

public class ExportData
{
public int LoadID { get; set; }
public string LoadNumber { get; set; }
public string CustomerName { get; set; }
public string ShipperName{ get; set; }
public string  DeliverName{ get; set; }
public string ReferenceNumber { get; set; }
// ...
}
Я хочу получить еще один список IQueryable или таблицу данных, например:

Код: Выделить всё

IQueryable:
{
{
LoadID:1,
LoadNumber:"0001",
CustomerName:"Customer1",
ShipperName:"Shipper1",
DeliverName:"Consignee1",
ReferenceNumber:"Reference1"
...
},
{
LoadID:1,
LoadNumber:"0001",
CustomerName:"Customer2",
ShipperName:"Shipper2",
DeliverName:"Consignee2",
ReferenceNumber:"Reference2"
...
},
{
LoadID:2,
LoadNumber:"0002",
CustomerName:"Customer3",
ShipperName:"Shipper3",
DeliverName:"Consignee3",
ReferenceNumber:"Reference3"
...
},
{
LoadID:2,
LoadNumber:"0002",
CustomerName:"Customer4",
ShipperName:"Shipper4",
DeliverName:"Consignee4",
ReferenceNumber:"Reference4"
...
},
...
}
Как лучше всего это сделать?
Я пробовал

Код: Выделить всё

IQueryable exportData;
exportData = loads
.Select(load => new ExportData
{
LoadID = load.LoadID,
LoadNumber = load.LoadNumber,
CustomerName = load.CustomerName,
...
});
Но я понятия не имею о списках объектов. Есть предложения?

Подробнее здесь: https://stackoverflow.com/questions/467 ... ject-lists
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»