Ayrat
Дафпесду этот ЕФ, он как будто из беты не может выйти за 10 лет
Ayrat
я хз, давно не пользовал, но охотно верю
Ayrat
я его пользовал ровно на одном проекте
Ayrat
и после этого больше НИКОГДА
Ayrat
наелся с лопаты
Ayrat
быстрее адо.нет запустить чем всю эту поеботу
Mikhαil
Используем еф кор в проде- все ок
Ayrat
в еф слишком много церемоний. Я так и не оценил пользы честно говоря
Vladislav
Что значил нет делет?
Где там что-то кроме RemoveRange?
Mikhαil
На дбсете
Mikhαil
А зачем тебе асинк если асинк на сохранении измений есть. Там нет ио никакой, чо там асинкать? Лишний раз стейт машину увеличивать
Vladislav
Ремув обычный
Это который требует забрать сущность из бд, пометить ее Deleted и потом удалить? Я думал оно продвинулось куда-то со времен 12 года.
Vladislav
Мне надо delete from table where ...;
Mikhαil
В чем проблема
Mikhαil
Еф никак не исключает роу скл
Ayrat
@Liminiens Azure B1 норм же? 1 ядро 1.75гб рам, 10гб хдд Я просто не думаю что боту надо что-то больше чем самый нищебродный вариант
Ayrat
там есть ещё нищеброднее
Vladislav
Ну я то напишу, но ор то именно в том что базовые вещи через одно место как и раньше. Я же не оконные функции хочу)
Mikhαil
Ну я то напишу, но ор то именно в том что базовые вещи через одно место как и раньше. Я же не оконные функции хочу)
Лол, как раз с орм функциями он отлично справляется - у нас дддщные агрегаты через него построены
Mikhαil
Удаление вполне делается роу скл
Mikhαil
Квери тоже через скл
Mikhαil
Он неторопливый? Пожалуй да
Vladislav
Ну это же базовая операция бля. На кой хуй он тогда нужен, еф этот. Я же могу просто скллайт тогда сам дернуть через адонет
Mikhαil
Или через даппер
Mikhαil
Нормальный закрытый агрегат с точкой входа только через корень агрегации итд
Mikhαil
Тупо способ в ногу себе шмальнуть
Vladislav
Ты уводишь тему от того что в еф нет функции delete в 2020, которая бы возвращала int как количество удаленных строк. Я про другое даже не заикался изначально. Я не понимаю почему этого нет. Я же не прошу что оно умело в глобальные sysref курсоры оракла. По мне это просто рофл
Mikhαil
Почему этого нет? Ну мб это лоу приорити
Mikhαil
Можешь ишью создать или вопрос задать
Vladislav
@omgszer я потом скажу сколько бот ест
Anatoly
т.е. нет ни одного нормального дизайн решения, чтобы делать так, как делает еф
Anatoly
Удачи тебе агрегат нормально выразить через адонет))
регулярно выражал в проде. 6к рпс на одной СУБД держал. в чём проблема?
Mikhαil
регулярно выражал в проде. 6к рпс на одной СУБД держал. в чём проблема?
Пример пожалуйста)) хочется посмотреть на то как это было сделано. Именно иерархический агрегат с вложенными энтити, вэльюобжектами итд
Mikhαil
Хочется оценить объём скл кода
Anatoly
примера не будет из-за NDA, очевидно
Roman
примера не будет из-за NDA, очевидно
можно ж переименовать / замазать имена полей
Ayrat
Почему этого нет? Ну мб это лоу приорити
да ты шутишь. удалять из бд никому не надо
Ayrat
я тоже честно говоря ору
Anatoly
можно ж переименовать / замазать имена полей
мне тут кому-то что-то доказать что ли надо? не верите, your choice.
Mikhαil
да, рекурсивные CTE, графы и деревья. дальше-то что?
Дальше то, что у нас нет острой потребности писать излишне сложный код на который уходит больше времени чем на имплементацию того же через еф. Дальше-то что? Я не говорю что еф идеален и не говорю что он подходит везде и всегда, но айрат и влад в принципе не вели конструктивного диалога и в качестве проблемы привели наименьшую из проблем
Mikhαil
я тоже честно говоря ору
Ты точно читал что я написал?) я не знаю причин почему этого нет
Ayrat
то есть способы вида присоедини модель к контексту, поменяй в обжект тракере стейт модели на Делетед вызови сейв ченжес
Mikhαil
Я хочу оценить насколько оно сложнее
Ayrat
это типа как дилдо в жопу вставить и говорить - удобно
Roman
в еф слишком много церемоний. Я так и не оценил пользы честно говоря
Ну как же, польза в том, чтобы писать меньше кода. Ты уменьшаешь кол-во символов и увеличиваешь кол-во магии в своей жизни. Разве не романтика?
Ayrat
Ну как же, польза в том, чтобы писать меньше кода. Ты уменьшаешь кол-во символов и увеличиваешь кол-во магии в своей жизни. Разве не романтика?
Ага. Очень удобно. Автонахождение ентитей по имени, автонахождение праймари ключей по имени. Автосвязывание ентитей на основе ебанутых виртуальных св-в
Ayrat
всё охуенно
Roman
вжух и прод потух
Mikhαil
Ага. Очень удобно. Автонахождение ентитей по имени, автонахождение праймари ключей по имени. Автосвязывание ентитей на основе ебанутых виртуальных св-в
Опять же - мы пишем явные конфигурации с флюент синтаксисом и не пользуемся автоопределениями) Проверяем сгенеренные миграции итд
Roman
Опять же - мы пишем явные конфигурации с флюент синтаксисом и не пользуемся автоопределениями) Проверяем сгенеренные миграции итд
но потом же полюбас приходится разбираться, какой там получился сиквел, пушто запрос внезапно выполняется 30 сек
Mikhαil
но потом же полюбас приходится разбираться, какой там получился сиквел, пушто запрос внезапно выполняется 30 сек
Мы на чтение не пользуемся еф У нас цкрс, операции записи через агрегаты и еф Чтение мы строим через даппер и скл потому что на чтение чаще всего удобно работать с табличным представлением а не объектным
Mikhαil
Но вообще разумеется я смотрю то, что еф нагенерил при написании кода и тестов на него
Mikhαil
ну тогда неясно накой нужен этот еф. линк2дб и вперде
У линк2дб с имплементацией ддд были проблемы - сходу не вспомню, но при ресерче было видно что костылить приходилось Мб сейчас что-то поменялось
Mikhαil
Короче пацаны, я не говорю что еф идеален - у него куча минусов и он проседает по перфомансу, но говорить что им нельзя пользоваться - бред Есть задачи под которые он неплохо подходит
Mikhαil
У нас сейчас есть ряд небольших и ненагруженных сервисов в которых он прям нормально ложится
Mikhαil
И позволяет не переусложнять код
Mikhαil
Офк мы выберем что-то иное для сервисов с большей нагрузкой например
Mikhαil
@aensidhe если вдруг как-нибудь получится какой-то кусочек примера реализации доменной логики и маппинга ее на бд показать - буду благодарен. Правда интересно было бы посмотреть
Vladimir
ну тогда неясно накой нужен этот еф. линк2дб и вперде
говорят он не умеет в двойной лефтджоин на фарше :(
Vladislav
я всего лишь сказал что там в 2020 нет метода delete и надо делать это в два запроса, где первый тянет весь датасет в память
Ayrat
там надо просто пустую модель (но с ключом) прицепить к обжект трекеру
Ayrat
но это блять вырвиглазный дизайн
Vladislav
ну я выше показал черезжопный метод этого не делать
Черезжопный метод это интерполяция строк через delete from nameof(Table)
Ayrat
ну сырой сиквель тоже ничего
Ayrat
в плане может даже получшее, т.к. обжект трекер вообще паибота
Mikhαil
Черезжопный метод это интерполяция строк через delete from nameof(Table)
У нас постгре - там неймоф не очень подойдёт)
Mikhαil
Это решается константными именами таблицы в конфигурации
Danil
И позволяет не переусложнять код
Dapper не переусложняет код, этот тот же ADO, только с типизацией для ридера и интерполяции параметров в кверю, плюс он более легковесный и работает быстрее, потому что нет трансляции