【发布时间】:2014-04-14 08:45:52
【问题描述】:
我需要从不同的列表中提取两个值。我有一个 Order 对象列表和一个 Visitor 对象列表,每个对象都包含按日期列出的完整对象列表。
我需要访问来自访客列表的访客属性和来自订单列表的 TotalOrders 属性。然后我需要将每个 TotalOrders 与访客分开以获得第三个值(转化率)。最后,我想将每个 conversionRate 值添加到 List TotalConversions。
我正在尝试编写一个 Linq 查询,该查询从各自的访问者和 TotalOrders 中获取,但我不确定如何执行此操作。
List<GAVisitorsModel> VisitorsList = GetGAStatisticsReport(model);
List<GC_OrdersModel> OrdersList = GetOrderReport(model);
List<GC_ConversionRateModel> TotalConversions = new List<GC_ConversionRateModel>();
foreach (var order in OrdersList)
{
string _date = order.Date;
var Conversions = VisitorsList.Join(OrdersList, x => x.Visitors, y => y.TotalOrders, (x, y) => new { X = x, Y = y });
foreach (var c in Conversions)
{
//-- Y / X = C
//int _conversion = C;
//-- GC_ConversionRateModel GC_Orders = new GC_ConversionRateModel(_date, _conversion)
}
}
return TotalConversions;
List TotalConversions 应按日期返回转化列表。
这些是对象类:
GAVisitorsModel:
public class GAVisitorsModel : IGAVisitorsModel
{
public string Date { get; set; }
public int Visitors { get; set; }
public GAVisitorsModel(string _date, string _visitors)
{
Date = _date;
Visitors = _visitors;
}
}
GCOrdersModel:
public class GC_OrdersModel
{
public string Date { get; set; }
public int TotalOrders { get; set; }
public int TotalProducts {get; set;}
public GC_OrdersModel(string _date, int _totalOrders, int _totalProducts)
{
Date = _date;
TotalOrders = _totalOrders;
TotalProducts = _totalProducts;
}
}
GC_ConversionRateModel:
public class GC_ConversionRateModel
{
public string Date { get; set; }
public int ConversionRate { get; set; }
public GC_ConversionRateModel(string _date, int _conversionRate)
{
Date = _date;
ConversionRate = _conversionRate;
}
}
【问题讨论】:
-
您想通过什么键加入?
-
我认为您需要为您的每个对象提供类结构,以便我们为您提供帮助。
-
@Anatolii Gabuza 关键是“OrdersList Date”,值是访客/总订单。我正在使用 Google Charts API 我需要 X 和 Y 轴的 Date 和 ConversionValue。
标签: c# .net asp.net-mvc linq