[英]Error join table with lambda expression c#
我有 2 個表,我想用 lambda 表達式加入它們。
代碼如下所示:
var maintenance = maintenanceService.GetAll();
var mDetail = maintenanceDetailService.GetAll();
var data = maintenance.Join
(
mDetail,
m => m.Id,
md => md.MaintenanceId,
(i, m, md) => new VehicleFuelReportViewModel
{
MaintenanceDate = m.MaintenanceDate
}
);
我收到此錯誤:
錯誤 12 無法從用法。 嘗試明確指定類型參數。
maintenance
和mDetail
是IEnumerable<>
。 誰能幫我? 謝謝
class NewVehicleFuelReportViewModel
{
public int Index { get; set; }
public MaintenanceDate { get; set; }
}
var data = maintenance.Join(mDetail,
m => m.Id,
md => md.MaintenanceId,
( m, md) => new VehicleFuelReportViewModel {
MaintenanceDate = m.MaintenanceDate
});
int i = 0;
var dataWithIndex = data.select(d=>{
var tempdata = new NewVehicleFuelReportViewModel();
tempdata.Indx = i++;
tempdata.MaintenanceDate = d.MaintenanceDate;
return tempdata;
}).ToList();
在第三個 lambda 中沒有采用索引參數的Join
重載。 如果您需要結果中的數字列,請執行后續Select
:
var data = maintenance.Join(mDetail,
m => m.Id,
md => md.MaintenanceId,
(m, md) => m.MaintenanceDate)
.Select((i, m) new VehicleFuelReportViewModel {
MaintenanceDate = m.MaintenanceDate,
Index = i}) ;
雖然我很困惑,為什么你正在做一個Join
,如果你不使用從連接表的任何數據。 您的意思是統計相關記錄嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.