Можно ли использовать трёхмерный оператор , чтобы отразить эту логику?C# Тернарный оператор, используемый в запросе LINQ
if (a = 1)
{
somevalue = "hello";
}
else if (a = 2)
{
someValue = "world";
}
else if (a = 3)
{
someValue = "hellWorld";
}
Я делаю следующее в LINQ Query:
using (var data = new DAL())
{
var result = data.Holidays.AsNoTracking()
.Where(x => x.RequesterId == userId)
.Select(x => new HolidayModel
{
HolidayId = x.HolidayId,
FromDate = x.FromDate,
ToDate = x.ToDate,
AuthorisationStatus = x.InternalHolidayStatus == 1 ?
HolidayAuthStatus.Pending :
HolidayAuthStatus.Rejected,
DateModified = x.ModifiedDate
}).ToList();
return Json(result.ToDataSourceResult(request));
}
HolidayAuthStatus
представляет собой перечисление, который имеет три значения в нем (Pending
(1), Authorised
(2) и Rejected
(3)); и я хотел бы отразить это в коде при присвоении значения AuthorisationStatus
.
Очевидно, что вы используете его уже так в чем проблема? Также, если 'HolidayAuthStatus' соответствует' AuthorisationStatus', вы можете просто сделать прямой бросок. – James
Это LINQ-to-Objects, LINQ-to-SQL или LINQ-to-Entities? –