Есть SQl запрос(пример), который возвращает нужный мне результат:
select * from visitedpoints
left join [dbo].[Routes] r ON visitedpoints.code = r.tocode and r.Shift_Id = visitedpoints.Shift_Id
where visitedpoints.Shift_Id = '184'
order by visitedpoints.serialnumber
Вот Linq, который возвращает тоже что мне надо как и верхний SQL.
var result = from v in _shift.VisitedPoints
join rs in _shift.Routes on v.Code equals rs.ToCode into rr
from r in rr.DefaultIfEmpty(new Route())
orderby v.SerialNumber
select new VisitedPointRow
{
Code = v.Code,
CityName = r.ToCityName,
Name = r.ToName,
DetourKMs = v.SerialNumber == 1 ? null : r.DetourKMs,
KGsTransported = v.SerialNumber == 1 ? null : r.KGsTransported,
PalletsTransported = v.SerialNumber == 1 ? null : r.PalletsTransported,
SerialNumber = v.SerialNumber,
ArrivalTime = v.ArrivalTime,
DepartureTime = v.DepartureTime,
Distance = v.SerialNumber == 1 ? null : r.Distance
};
Как мне сделать тоже самое но такого вида:
List<VisitedPointRow> visitedPoints = _shift.VisitedPoints
.OrderBy(v => v.SerialNumber)
.Join(_shift.Routes,
v => v.Code,
r => r.ToCode,
(v, r) => new VisitedPointRow
{
Code = v.Code,
CityName = r.ToCityName,
Name = r.ToName,
DetourKMs = v.SerialNumber == 1 ? null : r.DetourKMs,
KGsTransported = v.SerialNumber == 1 ? null : r.KGsTransported,
PalletsTransported = v.SerialNumber == 1 ? null : r.PalletsTransported,
SerialNumber = v.SerialNumber,
ArrivalTime = v.ArrivalTime,
DepartureTime = v.DepartureTime,
Distance = v.SerialNumber == 1 ? null : r.Distance
})
.ToList();
Результат левой части и правой части из двух первых примеров:
10023 NULL
398 398
532 532
377 377
7058 7058
15155 15155
Результат последнего:
398 398
532 532
377 377
7058 7058
15155 15155
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть большая база MS ACCESS у которой создатель решил поставить во всех таблицах тип поля 'ID' как числовой, изменить нельзя тк
В ходе разработки игры столкнулся с задачей реализации не то чтобы компьютера, а внутриигровой операционной системыЭто не главная задача...