PradeepJoshi Ответов: 1

Как снять от времени допускающего значение null типа datetime столбец в LINQ


Привет,
Я получаю проблему в запросе LINQ, пожалуйста, помогите мне.

LINQ-запроса с группы присоединиться столбец datetime, используя и выберите строку.присоединяйтесь
значение datetime показано следующим образом
используя строку.Присоединиться(Среда.Строки, дл.DatetimeColumn из подзапроса)
21/03/2017 11:05:04
01/05/2017 12:24:55
08/05/2017 13:34:12
если я использую
EntityFunctions.TruncateTime
это было показано следующим образом
21/03/2017 00:00:00
01/05/2017 00:00:00

Что я уже пробовал:

Получение проблемы в запросе LINQ пожалуйста помогите мне

F-ES Sitecore

Вы не можете удалить время из переменной DateTime (ключ находится в названии). Если вам нужна только дата, то при отображении переменной используйте что-то вроде ToString, чтобы показать только дату;

myDateTime.ToString("ДД-ММ-гггг")

Вы не показали, как отображаются данные, поэтому трудно дать конкретное решение.

1 Ответов

Рейтинг:
2

Maciej Los

Если я правильно вас понял, вы хотите вернуть только часть даты (игнорировать часть времени). Как Ф-Эс компания[^] упоминается в комментарии к вопросу, EntityFunctions.Способ TruncateTime (Системы.Данных.Объекты)[^] сокращает время,но не удаляет его. Чтобы вернуть список строк даты, вы должны использовать что-то похожее на:

var result = string.Join(",", db_context
	.Where(x => x!=null) //get non null values
	.ToList() //<=this might be needed within EF
	.Select(x => x.Value.ToString("dd/MM/yyyy", provider))
	.Distinct());  //get non-duplicates 

Результат:
21/03/2017,01/05/2017,08/05/2017,21/05/2017