У меня есть следующий код C#, который выполняется на SQL Server, размещенном в Azure.
protected IQueryable<T> FilterUpdatedRows<T>(IQueryable<T> query, DateTime lastSyncTimestamp) where T: class, ITimestamp
{
return query.Where(x => x.InsertTimestamp >= lastSyncTimestamp ||
(x.UpdateTimestamp.HasValue && x.UpdateTimestamp >= lastSyncTimestamp));
}
Generic (T) — это классы контекста Entity Framework, которые реализуют интерфейс и принудительно определяют InsertTimestamp и UpdateTimestamp.
Этот код работал нормально, пока я не установил обновление Windows 10 за апрель 2018 года. После обновления я получаю следующую ошибку...
SqlException: поток протокола удаленного вызова процедур (RPC) входящего потока табличных данных (TDS) неверен. Параметр 2 (""): тип данных 0x00 неизвестен.
Я подтвердил, что параметрами, вызывающими проблему, являются поля InsertTimestamp и UpdateTimestamp.
Эта ошибка возникает только тогда, когда я нацеливаюсь на свою копию базы данных SQL в Azure. Экспорт базы данных в локальную базу данных работает без проблем. Члены команды, которые не выполнили обновление до обновления за апрель 2018 г., не испытывают проблем при переходе на версию Azure.
Я запустил трассировку SQL в своей локальной версии и зафиксировал выполнение оператора SQL. Выполнение этого оператора через SSMS для версии Azure работает без проблем.
Вот оператор SQL, захваченный трассировкой...
exec sp_executesql N'SELECT
[Extent1].[CrossingId] AS [CrossingId],
... Misc other fields ...
[Extent1].[CrossingInstanceId] AS [CrossingInstanceId]
FROM (SELECT
[V_SYNC_CrossingsSync].[CrossingId] AS [CrossingId],
... Misc other fields ...
[V_SYNC_CrossingsSync].[CrossingInstanceId] AS [CrossingInstanceId]
FROM [dbo].[V_SYNC_CrossingsSync] AS [V_SYNC_CrossingsSync]) AS [Extent1]
WHERE ([Extent1].[InsertTimestamp] >= @p__linq__0) OR (([Extent1].[UpdateTimestamp] IS NOT NULL) AND ([Extent1].[UpdateTimestamp] >= @p__linq__1))',N'@p__linq__0 datetime2(7),@p__linq__1 datetime2(7)',@p__linq__0='1980-01-01 00:00:00',@p__linq__1='1980-01-01 00:00:00'
Любые мысли о том, что может происходить?
Спасибо