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

Пока битва ууидов кончилась. Объясните нубу - вот есть проект

на ASP.Net Core и к нему бд прикручена через EF. Как я понял, напрямую модельки из БД вытаскивать и добавлять плохо - нужно DTO? Может кто привести пример статьи, объясняющей как это сделать правильно

32 ответов

7 просмотров

Говорят если модель назвать юид думать уже не надо, оно само работает

кринге

Edward- Автор вопроса
Tony Werner
кринге

герр кринге

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

Если назначение сервиса - экспоузить данные из бд как есть, то почему бы и нет? OData 2 кнопки и поехали

Andrii Kurdiumov
сперва просто делай копии моделей из базы, постепе...

А разве модели нельзя в json сразу и обратно? Фокус такой провернуть

xellan𖠃
А разве модели нельзя в json сразу и обратно? Фоку...

у тебя там в EF циклические графы - JSON так не умеет.

Andrii Kurdiumov
у тебя там в EF циклические графы - JSON так не ум...

[JsonIgnore] атрибут над классом который зацикливается и все работает. У меня с этим нет проблем

xellan𖠃
[JsonIgnore] атрибут над классом который зациклива...

когда у тебя идет "отмена" функционала это очень тяжело для головы

Andrii Kurdiumov
у тебя там в EF циклические графы - JSON так не ум...

В веб проекте можно так отрубить для json зацикливание var builder = WebApplication.CreateBuilder(args); builder.Services.AddControllers().AddJsonOptions(options => { options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles; });

ты "отменяешь" вещи ради "простоты" так ли это "просто" тогда?

Вот пример ef и json

xellan𖠃
Вот пример ef и json

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

xellan𖠃
Если так можно, то почему так нельзя?

можно что угодно. мое мнение что это - не эффективно для любых проектов кроме маленьких - слабо "упрощает" вещи, так как любые отмены в API приводят к тому что тебе кочерыжкой думать надо, тебе надо все или только часть и когда что у тебя есть. программисты не должны так много думать.

Andrii Kurdiumov
в целом это дороже выходит так делать. может тебе ...

А как же то что контролер на входе принимает из FromBoby json сразу, без разрешения получается асп деселиризует.

xellan𖠃
А как же то что контролер на входе принимает из Fr...

там десериализуются только те поля которые ты указал.

Andrii Kurdiumov
можно что угодно. мое мнение что это - не эффекти...

Выгода только в кб трафика, по скорости разница обработки в не значительные мс идет

xellan𖠃
Вот пример ef и json

А ещё и хранить бинарные данные в виде колонки в реляционной БД - раковая опухоль замедленного действия. Посмотри в сторону s3/minio или на худой конец filestreams

Iskander R
А ещё и хранить бинарные данные в виде колонки в р...

Почему это бомба замедленного действия? Но спасибо за наводку

xellan𖠃
Почему это бомба замедленного действия? Но спасибо...

Ну у тебя твои интики булианы и чарчики малость оффсетами обмажутся

xellan𖠃
Почему это бомба замедленного действия? Но спасибо...

dba.stackexchange.com/questions/2445/should-binary-files-be-stored-in-the-database

Антон
Ну у тебя твои интики булианы и чарчики малость оф...

Не обмажутся если идентификаторы в порядке

Антон
Ну у тебя твои интики булианы и чарчики малость оф...

А когда их станет много, проблемочки появятся из-за индексиков в оффсетиках

Антон
А когда их станет много, проблемочки появятся из-з...

странное суждение ибо у того же чата этих индексов тоже не мало. Так и там свои уникальные id

xellan𖠃
Выгода только в кб трафика, по скорости разница об...

я вообще не про скорость. это про то что у тебя если разные вещи, то лучше бы держать их разными. для мелких проектов я вообще то согласен что такой подход роляет. очень эфективно, мало форм быстро забацал и все. если потом их никто трогать сильно не будет или под снос они через пару лет пойдут. если у тебя будетт больше форм, то так или иначе у тебя начнут появляться неконсистентности в интерфейсе с базой, то ты будешь на одно поле меньше заполнять, то что-то ты только читать можешь, а что-то видеть не можешь. и вот эту разницу с моей точки зрения лучше явно выражать в классах. это скучно, но очень понижает шанс ошибиться потом.

Andrii Kurdiumov
я вообще не про скорость. это про то что у тебя ес...

С названием Image и не сложным проектом, такой подход эффективен и бд никогда не будет вешать ну слишком много, плюсы, доступность бд. И вообще не понял причем тут формы

Andrii Kurdiumov
API endpoints ~= экранный формы

ок, но создавая таблицы, модели. Понятно что забыть легко где что. Я сверху пишу комментарии для себя всегда, даже в маленьких проектах. На случай если нужно будет обновить или что то еще, чтобы быстро разобраться в проекте.

Iskander R
dba.stackexchange.com/questions/2445/should-binary...

Там часть ответов за бд, часть за хранилище, но по сути зависит от конкретной задачи. На вкус и цвет каждому свое как говорится. Если у меня нет в проекте например такого что нужно быть расширить файловое хранилище, то бд будет лучшим решением и также для передачи картинок зачем мне делать потоковую передачу данных? Если жалкие 500кб можно отправить через буферизацию и при этом нагрузки не будет сильной даже если пользователей будет много

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

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

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Так а кто может спарсить всех участников чата? Идишники
Magic
17
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Ребята, а из API геокодеров (по адресам в РФ) что сейчас актуального и есть ли среди актуального бесплатное/с нормаотным лимитом запросов? ситуация простая - на сайте периоди...
Dreamer_0x01 VeseloV
8
Карта сайта