Nikolay
А они тип, ну мы выложим, а там посмотрим
Анна
Vladislav
if(smth is int a) где а утекает в скоуп выше это пиздец. Не то чтобы я сам знал как решить проблему, но мне смешно
Klei
@AnutaU @omgszer @Kleidemos есть что почитать про современное положение теории фп? Или просто про фп
Лично у меня подобное спрашивали всего два раза, и оба раза люди были вообще не в теме. Всего лишь хотели пропустить чтение древней литературы спорной полезности (по аналогии с ООП миром). Склоняюсь к тому, что здесь тот же случай.
Если нет, то по большому счету я здесь пока бесполезен. Сейчас если что и читаю по профессии, то материалы мелькающие в чате по диагонали. // Выдохся, был неправ, исправлюсь (месяца через 3-4).
Nikolay
Vasily
Блять, какая же GraphQL ебанина
Nikolay
Vasily
Да затаскивают библиотеку, ептыть
Vasily
Но вместо того, чтобы сделать по нормальному
Анна
Vasily
Приходится писать кучу ебаного бойлерплейта
Vasily
Nikolay
Ну она ужаса
Vladislav
Klei
Nikolay
Да пиздец
https://github.com/ChilliCream/hotchocolate
Vasily
Тут еще , судя по всему, местные гении ее используют ебанутым способом
Nikolay
Вот эта получше
Nikolay
Вроде автор обещал сделать в стиле обычного ASP, на атрибутах, но хз
Nikolay
Так то там сложного ничего нет
Vasily
Да это понятно
Vasily
Просто способ использования напрягает
Vasily
Вместо того, чтобы один раз написать над бд и забыть
Vasily
Нет, блять
Vasily
Мы будем обмазывать
Vasily
Каждый класс
Vasily
Мутациями
Vasily
И прочей поебенью
Nikolay
Напиши нам на F# либу красивую
Nikolay
Там, кстати, пилил кто-то
Vasily
Проблема в том, что конкретно в это говно я не хочу нырять
Ayrat
Andrew
@fvnever что то у меня 2018.3 райдер не смог подтянуть настройки из 2018.2 :(
Andrew
Впервые такое
Andrew
Пришлось начисто ставить
Dr. Friedrich
Andrew
Зависло на splash screen
Andrew
В самом конце
Andrew
Ну тоесть как зависло, висело с 0% нагрузки на ЦП в диспетчере
Dr. Friedrich
То есть он их предложил импортнуть, импортнул и потом замертво подвис на запуске?
Andrew
+
Andrew
Причем загрузка шла себе спокойно до самого конца
Andrew
И в самом конце зависло
Andrew
Без импорта все ок
Andrew
Dr. Friedrich
Хотелось бы на это посмотреть. У тебя осталась папочка .Rider2018.2?
Vladislav
Andrew
Уже к сожалению не выйдет глянуть)
Andrew
Удалил
Dr. Friedrich
пороли укродешь!
Ну ащемта у нас в EULA написано, что мы не воруем пороли.
Dr. Friedrich
Sensitive data я никогда не прошу лично мне прислать, а прошу переслать через support
Dr. Friedrich
А там это уже стопудово покрывается соглашением, и за утечки мы несём ответственность
Andrew
У меня осталась 2018.1 папка, я после работы попробую из нее импортнуть
Andrew
Если воспроизведется - скину)
Andrew
Там +- тоже самое было
Dr. Friedrich
Ок
Dr. Friedrich
Спасибо!
Nikolay
А если в каждый метод сервиса передавать свой DbContext, это ок? Помоему это как-то не по ООП
Vladislav
код в студию
Nikolay
Ну, условно:
public WriteService
{
public void CreateUser(DbContext context, User user)
}
или:
public WriteService
{
public DbContext Context { get; }
public WriteService(DbContext context)
{
Context = context;
}
public void CreateUser(User user)
}
Vladislav
2
Vladislav
1 это wannabe функциональщина какая-то
Nikolay
А когда один сервис вызывает другой сервис, и нужно контекст прокинуть?
Ayrat
Vladislav
Nikolay
Или такого не должно возникать?
Vladislav
не должно
Vladislav
у тебя стейт шариться между сервисами
Vladislav
попахивает
Ayrat
распределенный коннект к бд? это звучит прям как поднятие проблем на ровном месте
Vladislav
(стейт в виде контекста)
Nikolay
Ну я уже даже придумал решение :D
Nikolay
Фабрику + хэндлер, и передавать хэндлер
Nikolay
Вообще, из-за чего это возникло, Фридрих предлагал использовать фабрику, как я понимаю как-то так:
public class WriteService
{
public IDataFactory<DbContext> DataFactory { get; }
public WriteService(IDataFactory<DbContext> dataFactory)
{
DataFactory = dataFactory;
}
public void CreateUser(User user)
{
using (var context = DataFactory.GetDataSource())
{
...
}
}
}
Так ок?
Vladislav
тебе ничего не мешает транзакцию прокидывать
Vladislav
если надо
Vladislav
a.Database.UseTransaction()
Vladislav
я не знаю как там в ефе, но я это нашел у них
Vladislav
должно быть то что ты мутишь