Обновление значения Linq при присоединении - PullRequest
0 голосов
/ 19 сентября 2019
 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; })

enter image description here

Итак, как я могу обновить значение в самом запросе.?Я хочу, чтобы это генерировало отчет.Это не для обновления данных в базе данных.

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
})

Но в этом я получаю ошибку enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...