Как упорядочить разницу между двумя датами, которые обнуляются при правильном переводе в SQL? - PullRequest
1 голос
/ 05 апреля 2019

У меня есть словарь

var OrderBy = new Dictionary<string, IQueryable<Something>>
{
    (...)

    { "DateDifference", OrderDirection == "asc" ?
                        query.OrderBy(x => x.Date1.Value.Date - x.Date2.Value.Date) :
                        query.OrderByDescending(x => x.Date1.Value.Date - x.Date2.Date)},
};

Но будет исключение, когда он попытается оценить это на Something, у которого любая из этих дат равна нулю

У любого естьидея как это сделать?

1 Ответ

1 голос
/ 05 апреля 2019

Хорошо, я хакер

var OrderBy = new Dictionary<string, IQueryable<Something>>
{
    (...)

    { "DateDifference", input.OrderDirection == "asc" 

                        ?

                        input.OrderBy(x => 
                        (x.Date1 == null ? new DateTime(0).Date : x.Date1.Value.Date)
                        -
                        (x.Date2 == null ? new DateTime(0).Date : x.Date2.Value.Date)) 

                        :

                        input.OrderByDescending(x => 
                        (x.Date1 == null ? new DateTime(0).Date : x.Date1.Value.Date)
                        -
                        (x.Date2 == null ? new DateTime(0).Date : x.Date2.Value.Date)) },
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...