var query = from sa in stockAdjustment
join t in DbContext.RhbTransactions on sa.TransactionId equals t.Id into transactions
from t in transactions.DefaultIfEmpty()
join sd in DbContext.RhbSettlementDetails on sa.SettlementDetailId equals sd.Id into settlementDetails
from sd in settlementDetails.DefaultIfEmpty()
join td in DbContext.RhbTransactionDetails on sd.TransactionDetailId equals td.Id into transactionDetails
from td in transactionDetails.DefaultIfEmpty()
join ch in DbContext.RhbCharges.Where(x => x.DeletedAt == null && x.ElementType == Constants.TransactionElements.TransactionDetail) on td.Id equals ch.ElementId into charges
from ch in charges.DefaultIfEmpty(new Models.Rhb.RhbCharges() { }).Where(x=>x.Id > 0 ).Select(x=> { x.DisplayId = td.DisplayId; })
//More join query
select new NewMyModel
{
//Values
}
здесь я хочу обновить td.DisplayId в ch.DisplayId chrage, если elementId заряда соответствует деталям транзакции.
Но я не знаю, как его обновить.Я получаю сообщение об ошибке .Select(x=> { x.DisplayId = td.DisplayId; })
Итак, как я могу обновить значение в самом запросе.?Я хочу, чтобы это генерировало отчет.Это не для обновления данных в базе данных.
2) Я пытался получить значения другим способом.То, что я публикую здесь.
var query = (from sa in stockAdjustment
join t in DbContext.RhbTransactions on sa.TransactionId equals t.Id into transactions
from t in transactions.DefaultIfEmpty()
join sd in DbContext.RhbSettlementDetails on sa.SettlementDetailId equals sd.Id into settlementDetails
from sd in settlementDetails.DefaultIfEmpty()
join td in DbContext.RhbTransactionDetails on sd.TransactionDetailId equals td.Id into transactionDetails
from td in transactionDetails.DefaultIfEmpty()
let charge = (from f in DbContext.RhbCharges
where td.Id == f.ElementId && f.ElementType == Constants.TransactionElements.TransactionDetail
select new
{
DisplayId = td.DisplayId,
ChargeId = f.Id,
TransctionDetailId = td.Id
})
//More joins
select new myObj(){
//Values
})
Но в этом я получаю ошибку