私はトラックの燃料を追跡しています。計算されたフィールドをSQLリストに追加する方法
List<FuelLightTruckDataSource> data = new List<FuelLightTruckDataSource>();
using (SystemContext ctx = new SystemContext())
{
List<FuelLightTruckDataSource> dataTransfers
= ctx.FuelTransfer
.Where(tr => DbFunctions.TruncateTime(tr.Date) >= from.Date && DbFunctions.TruncateTime(tr.Date) <= to.Date
//&& tr.ToAsset.AssignedToEmployee.Manager
&& tr.ToAsset.AssignedToEmployee != null
&& tr.ToAsset.AssetType.Code == "L"
&& tr.Volume != null)
//&& (tr.FuelProductType.FuelProductClass.Code == "GAS" || tr.FuelProductType.FuelProductClass.Code == "DSL"))
.GroupBy(tr => new { tr.ToAsset, tr.Date, tr.FuelTankLog.FuelProductType.FuelProductClass, tr.FuelTankLog.FuelCard.FuelVendor,tr.Volume, tr.ToAssetOdometer })
.Select(g => new FuelLightTruckDataSource()
{
Asset = g.FirstOrDefault().ToAsset,
Employee = g.FirstOrDefault().ToAsset.AssignedToEmployee,
ProductClass = g.FirstOrDefault().FuelTankLog.FuelProductType.FuelProductClass,
Vendor = g.FirstOrDefault().FuelTankLog.FuelCard.FuelVendor,
FillSource = FuelFillSource.Transfer,
Source = "Slip Tank",
City = "",
Volume = g.FirstOrDefault().Volume.Value,
Distance = g.FirstOrDefault().ToAssetOdometer,
Date = g.FirstOrDefault().Date,
})
.ToList();
私の質問の後、私は消費速度と移動距離を計算する必要があります。 "Result"は "consumptionRate"と "Distance"を含むエントリの集まりであり、上記クエリと一致します。
// Get consumption rate data for each asset
foreach (int assetId in assetIds)
{
FuelConsumptionRateQueryResult result = FuelConsumptionRateQueryService.Get(assetId, from, to, AssetCounterType.Odometer);
result.Entries.ToList();
}
私の質問はどのように私は私のforeachループの結果を取得し、私の以前のクエリ/リストに追加ので、彼らは、レポートに表示することができますか?
私は正しい順序で私の他のリストのdataTransferにallResultsを追加するにはどうすればよいですか?基本的に、allResultsとdataTransferは同じ数のエントリを持ちますが、異なる方法でグループ化されます。 – RFS
さらに、 従業員を持つに似= .FirstOrDefault()。ToAsset.AssignedToEmployeeは、 は、私はあなたがリストあなたに戻って、それを追加したい場合は – RFS
@RFS ConsumptionRate =「私のallResultsにリンクするいくつかのコードを」持っていると思います'allResults'リストを作成するのではなく、それを使ってください。あなたの現在のコードの問題は、 'FuelConsumptionRateQueryResult result'を何にも割り当てていないようです。 – levelonehuman