170 похожих чатов

Кто то подскажет как можно было бы обращение к БД

перелить в класс, вместо того что бы юзать всё в Program.cs ?

21 ответов

15 просмотров

Ты можешь этот же код в любом классе написать

Живчик- Автор вопроса
Ralsei
Ты можешь этот же код в любом классе написать

да, но как правильно это сделать с точки зрения ООП, я в ООП новичок, поэтому не хотелось бы допускать глупые ошибки

методы по работе с db в статик класс вынести можно

Живчик- Автор вопроса

и будет ли разумно в этот класс подкинуть логирование (serilog) на случай ошибок при записи в бд ?

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

Во первых верни как было, про статик либо тебе дали плохой совет, либо ты его не так понял (хотя мне ничего другого в голову не приходит) Во вторых, зависит от того, какие ошибки ты ожидаешь

Живчик- Автор вопроса

Для чего он?

Живчик- Автор вопроса
Andrew Shurunov
Для чего он?

Что бы не создавать новый экземпляр

Живчик
screenshot так норм?

Почитайте про паттерн репозиторий, судя по вашему кода — это то, что вам нужно. Вам не нужен тут никакой статический класс, вам нужен репозиторий, который вы будете пробрасывать в другие классы с помощью внедрения зависимостей. Да и сам БД вы в этот репозиторий должны пробрасывать через DI (внедрение зависимостей), потому что руками инициализировать контекст на каждый вызов метода — плохой флоу.

Валерий Масленников
Почитайте про паттерн репозиторий, судя по вашему ...

Если делаете API, то ещё одной хорошей практикой является использование токенов отмены, советую глянуть это видно, чтобы понять зачем: https://www.youtube.com/watch?v=lQu-eBIIh-w&t=679s

Так а в чём проблема работу с бд вынести в статику? Единственное, что я оценил код как раз таки с точки зрения разделения функционала, а не действий в нём выполняемых

Andrew Shurunov
Зачем

Читабельность банально. +Актуально, если код повторяется в нескольких местах🤔

samurai
Читабельность банально. +Актуально, если код повто...

Какой код повторяется? dbContext.Models.Add(model) await dbContext.SaveChangesAsync()

Похожие вопросы

Обсуждают сегодня

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
Кибер Бомж
8
Карта сайта