Как стать автором
Обновить

Комментарии 8

Одним из ее преимуществ является функциональность картографа

А геодезист есть?

Спасибо за уточнение, речь о маппере, конечно же, поправили

Касательно LinqToDb - во-первых, у них есть адаптер к EF Core - можно пользоваться полностью их движком запросов и всеми его возможностями, используя модели EF (включая EF-ные миграции, и вообще полностью DbContext из EFCore) - и даже используя EF-ный Change Tracker, если зачем-то нужно. Я в своих проектах использую EFCore и LinqToDb через этот адаптер к EF Core наравне, и нарадоваться не могу, воспринимая LinqToDb в таком режиме как возможность расширить достаточно куцый транслятор EFCore-linq выражений в SQL.

Во-вторых, разработчики LinqToDb вроде где-то были тут на Хабре.

Рассмотрим пример с обновлением ID пользователя

надеюсь это не реальный код, судя по кавычкам там может быть строка, это не безопасно(привет sql-инъекции)

Лично я использую в ASP.Net Core проектах EFCore + FlexLabs.EntityFrameworkCore.Upsert при необходимости. В других проектах использовал Dapper в основном.

Уточним, что в этом примере идентификатор пользователя - GUID, поэтому атака SQL инъекцией невозможна

А потом стандартный дотнетовский GUID не устраивает, начинаете его генерировать как строку, где-то забыли проверить и все, привет потенциальная уязвимость.

потому лучше делать грамотно, тем более когда это ничего не стоит в данном примере.

Так же при использовании параметров это уже будет параметризованный запрос, и некоторые бэкенды их могут преобразовать в prepared-statement.

Знание ORM = знание sql + фич бд на проекте + знание и тонкости используемой orm. И в какой sql код, будет преобразован orm код. Не думаю, что следует привязывать бизнес логику к ORM'у. Следует привязывать к сервисам, а уже методы сервисов вызывать на уровне бизнес логики. Абстрагировать уровень бд. И уже все равно, что лежит в Service просто юзаем методы. Была неплохая статья на Хабре, типа я не буду учить +100500 ORM

Статья ни о чём. Просто привели несколько названий ORM с небольшими и совершенно не содержательными описаниями! Ник какого описания плюс и минусов, фактически никаких примеров работы, никаких сравнений, никаких тестов производительности (не говоря уже о сравнительных тестах по скорости решению эталонных задач, и объёму написанного кода) - пустота! Даже ссылок на документацию нет (для самостоятельного изучения темы по каждому ORM)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий