C#如何从IQueryable获取数据表<;T>;包括多对象列表
我有一个IQueryable列表,其中包括一些对象列表。我想从列表中获取一个DataTable并显示为一个表C#如何从IQueryable获取数据表<;T>;包括多对象列表,c#,C#,我有一个IQueryable列表,其中包括一些对象列表。我想从列表中获取一个DataTable并显示为一个表 IQuerable<Load> loads; public class Load { public int LoadID { get; set; } public string CustomerName { get; set; } public List<PickUp> ShipperPickUp
IQuerable<Load> loads;
public class Load
{
public int LoadID { get; set; }
public string CustomerName { get; set; }
public List<PickUp> ShipperPickUps { get; set; }
public List<Deliver> ConsigneeDelivers { get; set; }
public List<string> 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; }
...
}
我想得到另一个像这样的可读取列表或数据表:
IQuerable<ExportData>:
{
{
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"
...
},
...
}
iquirable:
{
{
LoadID:1,
装载编号:“0001”,
客户名称:“客户1”,
ShipperName:“Shipper1”,
交货名称:“收货人1”,
参考编号:“参考1”
...
},
{
LoadID:1,
装载编号:“0001”,
客户名称:“客户2”,
ShipperName:“Shipper2”,
交货名称:“收货人2”,
参考编号:“参考2”
...
},
{
LoadID:2,
装载编号:“0002”,
客户名称:“客户3”,
ShipperName:“Shipper3”,
交货名称:“收货人3”,
参考编号:“参考3”
...
},
{
LoadID:2,
装载编号:“0002”,
客户名称:“客户4”,
ShipperName:“Shipper4”,
交货名称:“收货人4”,
参考编号:“参考4”
...
},
...
}
最好的方法是什么
我试过了
IQueryable<ExportData> exportData;
exportData = loads
.Select(load => new ExportData
{
LoadID = load.LoadID,
LoadNumber = load.LoadNumber,
CustomerName = load.CustomerName,
...
});
IQueryable导出数据;
exportData=加载
.选择(加载=>new ExportData
{
LoadID=load.LoadID,
LoadNumber=load.LoadNumber,
CustomerName=load.CustomerName,
...
});
但我不知道对象列表。有什么建议吗?你们如何在彼此之间匹配
pick
/Deliver
/Reference
?这就是问题所在。现在我只是按顺序匹配它们。你需要一些代码< LoadConsigmentTable >代码>中间的代码> LoadID,ShipperId,DeliveryId,RealthIdID < /Calp> Hi,Michal。这就是我想要的结果。列出loadID、ShipperId、DeliveryId、ReferenceId。每个LoadID都有多个发货人、交货和参考。他们按顺序配对。这意味着在一个loadID中,第一个发货人匹配第一次交付和第一次引用。第二个发货人匹配第二次交货和第二次参考。如何在彼此之间匹配提货/交货/参考?这就是问题所在。现在我只是按顺序匹配它们。你需要一些代码< LoadConsigmentTable >代码>中间的代码> LoadID,ShipperId,DeliveryId,RealthIdID < /Calp> Hi,Michal。这就是我想要的结果。列出loadID、ShipperId、DeliveryId、ReferenceId。每个LoadID都有多个发货人、交货和参考。他们按顺序配对。这意味着在一个loadID中,第一个发货人匹配第一次交付和第一次引用。第二个发货人匹配第二次交付和第二次参考。
IQuerable<ExportData>:
{
{
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;
exportData = loads
.Select(load => new ExportData
{
LoadID = load.LoadID,
LoadNumber = load.LoadNumber,
CustomerName = load.CustomerName,
...
});