Здравствуйте, Alexandr Sulimov, Вы писали:
AS>Задача формировать правильный запрос для поиска по полю DateTime? (Nullable) AS>EF DateTime.ToString() приводит через CAST и формат изменить нельзя, нужно 10/07/2014 привести к 10.07.2014 и искать %07.201% а CAST приведет Jul 07, 2014
AS>Есть мысль написать свою функцию с return CONVERT(nvarchar(10), @value, 104) и использовать ее в WHERE CLAUSE
AS>Нашел только 1 статью про maping to custom function но из нее не понял как такое реализовать.
AS>Подтолкните к решению.
Если хочешь чтобы работало быстро, то:
1) Не делай конверсию данных в запросе.
2) Не делай LIKE в wildcard в начале шаблона.
3) Не используй функции в запросах.
Сто нужно делать:
1) Вычисляемые поля — год, месяц, день по дате
2) Запрос такого вида: WHERE месяц = 7 AND год >= 2010 AND год < 2020
3) ОБЯЗАТЕЛЬНО — индекс на поля в запросе. В твоем случае (месяц, год) include (поля в проекции)
В EF мапишь год, месяц, день как store generated поля.