Просто чтобы было более понятно, что в столбце БД указано Datetime, свойства C# объявлены как datetime. Когда EF преобразует запрос LINQ в SQL, он отправляет конкретное поле даты и времени как datetime2, а не datetime. Столбцы Edate и Pdate — это дата и время, и я передаю условие фильтра со значением даты и времени, но когда я вижу в профилировщике, оно преобразуется в дату и время2.
Код: Выделить всё
exec sp_executesql N'SELECT TOP (1)
[Project1].[ID] AS [ID]
FROM ( SELECT
[Extent2].[ID] AS [ID]
FROM [DBO].[TableB] AS [Extent1]
INNER JOIN [DBO].[TableA] AS [Extent2] ON [Extent1].[ID] = [Extent2].[ID]
WHERE ([Extent2].[EDate] @p__linq__2)
) AS [Project1]
ORDER BY [Project1].[DateP] DESC',N'@p__linq__1 datetime2(7),@p__linq__2 datetime2(7)',
@p__linq__1='2018-06-24 16:43:34.7830000',@p__linq__2='2018-06-24 16:43:34.7830000'
Пунит
Подробнее здесь: https://stackoverflow.com/questions/511 ... -datetime2