我需要從單獨的列表中提取兩個值。我有一個Order對象列表和一個Visitors對象列表,每個對象都包含按日期排列的完整對象列表。Linq連接來自兩個列表的值
我需要訪問來自OrdersList的VisitorsList和TotalOrders屬性的Visitors屬性。然後我需要將每個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;
}
}
你想加入的關鍵是什麼? –
我認爲你需要爲你的每個對象提供類結構來幫助你。 – Enigmativity
@Anatolii Gabuza關鍵是「OrdersList Date」,價值將是Visitors/TotalOrders。我正在使用Google Charts API,我需要X和Y軸的Date和ConversionValue。 – koffe14