LINQ (EFCore) вычисления на сервере и локально.
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 23.09.18 19:27
Оценка:
На сколько я понимаю, LINQ-выражения, связанные с запросами к базам данных, могут вычисляться как локально, так и на сервере.

При чем это может происходить даже в рамках одного выражения.

Правила вычисления у сервера БД отличаются от "локальных" правил.

Например,
DBMS: NULL+'строка' -> NULL
LOCAL (C#): NULL+"строка" -> "строка"

Или получение подстроки:
DBMS: SUBSTRING('12345',100) вернет пустую строку
LOCAL (C#): "12345".Substring(100) сгенерирует исключение

Когда смотришь на LINQ-запрос — нельзя точно сказать, что и где и будет вычислено.

Вопрос — как с этим жить этим вообще можно пользоваться?

Это (EF.Core) можно как-то заставить работать по одним правилам (желательно сервера)?
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.