У меня есть Linq запрос следующим образом:Использование сазе в Linq запрос
var trfplanList = (from at in entities.tdp_ProviderAccomodationType
join ap in entities.tdp_ProviderAccomodationTariffPlan on at.PATID equals ap.FK_PATID
join ac in entities.tdp_ProviderAccomodationCategory on ap.FK_PACID equals ac.PACID
where at.FK_ProviderID == CityID && at.IsApproved == 0 && ap.IsApproved == 0 && ac.AccomodationCategory == "Double Occupy"
orderby at.AccomodationType,ap.FromDate,ap.SType
select new AccomodationTariff
{
AccomodationType = at.AccomodationType,
SType = ap.SType,
FromDate = Convert.ToDateTime(ap.FromDate),
ToDate = Convert.ToDateTime(ap.ToDate),
RoomTariff = Convert.ToDecimal(ap.Rate),
ExPAXRate = Convert.ToDecimal(at.PerPaxRate)
}).ToList();
У меня есть два вопроса:
Не удается преобразовать значение при назначении в выберите новый {} блок? это дает мне ошибку в проекте.
Я хочу использовать «дело» при выборе
ExPAXRate
из базы данных, например, в SQL я писал:СЛУЧАЙ КОГДА ap.SType «межсезонья» THEN ELSE at.PerPaxRateOS at.PerPaxRate END AS ExPAXRate
Могу ли я использовать что-то подобное в запросе linq?
ExPAXRate = at.OffSeason? at.PerPaxRateOS: at.PerPaxRate, здесь я хочу проверить что-то вроде этого ExPAXRate = ap.SType == «Off Season»? at.PerPaxRateOS: at.PerPaxRate, но он дает мне ошибку – DharaPPatel
okey i получил решение, которое я должен написать: ExPAXRate = (ap.SType == "Off Season")? at.PerPaxRateOS: at.PerPaxRate – DharaPPatel