DB + EF + Repository + UnitOfWork

  Рет қаралды 1,506

Sergei Calabonga

Sergei Calabonga

Күн бұрын

Пікірлер: 20
@glorglorsky7987
@glorglorsky7987 3 ай бұрын
на пятой минуте, при объявлении свойства Name, вы добавляете в конце null!, и говорите, что свойство не может быть null. ! - это же оператор null-forgiving,! - оператор (допускающий значение NULL) (справочник по C#). Наткнулся на такое сообщение - И вот как раз восклицательный знак после null -- это т.н. null-forgiving оператор, который позволяет указать что значение null допустимо. Можете немного разжевать, запутался =) Или , так как string ссылочный тип, то значение null недопустимо, именно значение
@SergeiCalabonga
@SergeiCalabonga 3 ай бұрын
Полагаю, что компилятор CSharp поможет вам расставить точки над "ё". Попробуйте всё на практике. Станет понятнее.
@glorglorsky7987
@glorglorsky7987 3 ай бұрын
@@SergeiCalabonga так вот хотелось, что бы подтолкнули в нужное русло, не с кем пообсуждать, что окончательно расставить все точки над "ё".
@SergeiCalabonga
@SergeiCalabonga 3 ай бұрын
@@glorglorsky7987 Если кратко, то ... вы уже использовали (!) раньше в качестве оператора "not". Однако, начиная с C# 8.0 и его новой функции "nullable-reference-types", оператор получил второе значение. Его можно использовать для типа для управления допустимостью значений NULL, тогда он называется "Оператор прощения значений null". learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/null-forgiving github.com/dotnet/csharplang/blob/main/proposals/csharp-8.0/nullable-reference-types-specification.md
@Денис-д1у2д
@Денис-д1у2д 3 ай бұрын
Сергей, а где на гитхаб ваш проект UnitOfWork? Раньше был, а сейчас не могу найти.
@SergeiCalabonga
@SergeiCalabonga 3 ай бұрын
@@Денис-д1у2д всё на месте, ничего не прятал github.com/Calabonga/UnitOfWork
@Денис-д1у2д
@Денис-д1у2д 3 ай бұрын
@@SergeiCalabonga спасибо! Не через поиск, не так не мог найти.
@vladhr4083
@vladhr4083 6 ай бұрын
есть интересная библиотека Bogus для сидирования данных. особо может быть хороша в связке с ef
@74Photon
@74Photon 7 ай бұрын
Вы упомянули, что есть видео про Definition, а ссылки на него не указали. Можно добавить ее в описание под видео?
@SergeiCalabonga
@SergeiCalabonga 7 ай бұрын
boosty.to/calabonga/posts/9d1be9bb-a117-4a17-877e-252d58be9800?share=post_link
@SergeiCalabonga
@SergeiCalabonga 7 ай бұрын
boosty.to/calabonga/posts/136c41fd-1c86-47a2-9d26-feee6355cfca?share=post_link
@Денис-д1у2д
@Денис-д1у2д 7 ай бұрын
Видео длинное, хотя бы обьяснили тогда, что такое паттерн Repository и что за паттерн UnitOfWork, и как эти два паттерна между собой сочитаются. А то взяли и просто подключили свои библиотеки.
@SergeiCalabonga
@SergeiCalabonga 7 ай бұрын
Так если "просто подключили", то что объяснять? Да и а начале видео, я так и сказал, что "покажу, как я это делаю", а не "расскажу про основные паттерны работы DAL, про которые разработчик должен знать и без меня, не говоря уже, что в интернете полно информации". 🙂
@ziegimondvishneuski3317
@ziegimondvishneuski3317 7 ай бұрын
Repository - это обстракция, для обеспечения гибкости. Сегодня вы работаете с Posgress, завтра с MSSql, и для облегчения перехода от одного к другому, делают такую вот прослойку. UnitOfWork обеспечивает целостность сохранения данных в разрезе Transaction
@ВладимирДолгуев
@ВладимирДолгуев 7 ай бұрын
А почему при сохранении в БД используется SpecifyKind? Он же не преобразует дату, а только меняет Kind. Если дата была Local, то значение не поменяется. Не логичнее использовать ToUniversalTime?
@SergeiCalabonga
@SergeiCalabonga 7 ай бұрын
Я пробовал, у меня получилось на тот момент. Попробуйте. Очень интересно, получится или нет.
@ВладимирДолгуев
@ВладимирДолгуев 7 ай бұрын
@@SergeiCalabonga потыкал разные варианты на текущем проекте и получилось следующее. При использовании LinqDynamic для генерации запросов в БД обязательно использовать ToUniversalTime. Иначе сначала либа конвертнет в Local, а затем мы проставим UTC. И в БД появится гап на оффсет даты при сравнениях и фильтрации. А вот если без LinqDynamic работать, то разницы можно сказать и нету
@SergeiCalabonga
@SergeiCalabonga 7 ай бұрын
О! Это интересная информация. Приму к сведению! Спасибо огромное!
@DENDYTWOO
@DENDYTWOO 7 ай бұрын
а что за расширение, которое показывает какие сущности являются таблицами в бд?
@SergeiCalabonga
@SergeiCalabonga 7 ай бұрын
Net8 + EntityFrameworkCore
Commandex - модульный монолит. Идея.
41:39
Sergei Calabonga
Рет қаралды 373
Эволюция Архитектуры ПО
34:39
Sergei Calabonga
Рет қаралды 767
Do you love Blackpink?🖤🩷
00:23
Karina
Рет қаралды 20 МЛН
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 59 МЛН
I thought one thing and the truth is something else 😂
00:34
عائلة ابو رعد Abo Raad family
Рет қаралды 8 МЛН
FAQ 52 по программированию
29:29
Sergei Calabonga
Рет қаралды 295
Шаблоны Java. FactoryMethod (Фабричный метод)
12:22
Eugene Suleimanov
Рет қаралды 96 М.
FAQ 56 по программированию
41:04
Sergei Calabonga
Рет қаралды 320
FAQ 53 по программированию
14:19
Sergei Calabonga
Рет қаралды 288
Асинхронный python / Python FastAPI / Python uv / Юрий Селиванов / #16
2:02:23
Организованное программирование | Кирилл Мокевнин
Рет қаралды 13 М.
Do you love Blackpink?🖤🩷
00:23
Karina
Рет қаралды 20 МЛН