powered by simpleCommunicator - 2.0.33     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / CodeFirst vs DatabaseFirst
25 сообщений из 34, страница 1 из 2
CodeFirst vs DatabaseFirst
    #39813998
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, подкскажите пожалуйста плюсы и минусы каждого из подходов. Может ссылки какие есть или схемы?
Очень не хотелось бы для бизнеса использовать подход Database First, а если не найду обоснования, то придется! Спасите!
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814016
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabonga,
Ну пройдись по обсуждениям и дай сюда свое мнение.
Обсуждали уже.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814017
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabongaдля бизнеса использовать подход Database Firstон обычно там где админ есть у заказчика. Причем тут бизнес.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814021
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabonga,

а почему вы так боитесь использовать Database First?
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814042
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухCalabonga,

а почему вы так боитесь использовать Database First?

Мы не боимся, но, с кодеферст, по опыту, как-то так поприятнее работать. Всяко, модель написанная руками "чище" выходит, чем что-то там нагенеренное.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814182
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabonga,

Просто переведи названия подходов на русский, они ж говорят сами за себя


Смотря что ты хочешь и что тебе удобнее - БД пилить или классы
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814383
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProCalabonga,

Просто переведи названия подходов на русский, они ж говорят сами за себя


Смотря что ты хочешь и что тебе удобнее - БД пилить или классы
Ну, вообще-то, я не перевод просил, а "плюсы и минусы" или может быть проблемы, с которыми может кто столкнулся.
Но спасибо за совет, а не за обоснования :)
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814389
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CalabongaShocker.ProCalabonga,

Просто переведи названия подходов на русский, они ж говорят сами за себя


Смотря что ты хочешь и что тебе удобнее - БД пилить или классы
Ну, вообще-то, я не перевод просил, а "плюсы и минусы" или может быть проблемы, с которыми может кто столкнулся.
Но спасибо за совет, а не за обоснования :)
За 15+ лет уже по большому счёту по фигу...

В одном проекте лучше так, в другом сяк, в третьем интеграция со сторонними сервисами, в четвёртом файловое хранилище, в пятом MongoDB, Couchbase, GraphQL...

Вам там виднее, что у вас за проект, какие цели и что использовать для эффективного их достижения.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814438
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CalabongaНу, вообще-то, я не перевод просилтебе прям на блюдечке аналитику и вопрос по архитектуре.
ТС работает бооьше отвечающих)
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814517
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CalabongaКоллеги, подкскажите пожалуйста плюсы и минусы каждого из подходов. Может ссылки какие есть или схемы?
Очень не хотелось бы для бизнеса использовать подход Database First, а если не найду обоснования, то придется! Спасите!

Ну DatabaseFirst
+ База лучше контролируется.
+ Всё предсказуемо.
+\- Можно базу в дезайнере сделать.
- Чтобы что-то изменить, возможно надо кого-то просить.



CF
+ POCO
+ Можно использовать CF FROM DB (это значит, что ты можешь в принципе перейти на CF всегда)
+ Контроль у программиста (на надо лезть в базу)
- Контроль у программиста (в случае команды надо что-то думать )
- Миграции автоматом отрабатывают в простых случаях, чуть что - надо лезть в файлы руками
- У меня миграции слетали несколько раз.
- Если нельзя сгенерить DB заново, то иногда миграция требует шаманства, например - указание имен промежуточных таблиц.
- Не все можно задать классами - надо юзать FLUENT API, а это не та штука, от которой получаешь удовольствие.

От CF скорее впечатление, что это нормально для небольших проектов или на этапе прототипа (быстрый старт).

Сам бы выбрал скорее - DBFirst + CF FROM DB
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814530
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортом- Миграции автоматом отрабатывают в простых случаях, чуть что - надо лезть в файлы руками
- У меня миграции слетали несколько раз.

С ними надо просто руку набить. У нас тоже была поначалу эта миграционная попоболь, но потом уже вникли, отработали процесс, и все пошло норм. Там главное понять как они работают, а потом уже становится ясно как в том или ином случае действовать.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814535
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthatАгнец за бортом- Миграции автоматом отрабатывают в простых случаях, чуть что - надо лезть в файлы руками
- У меня миграции слетали несколько раз.

С ними надо просто руку набить. У нас тоже была поначалу эта миграционная попоболь, но потом уже вникли, отработали процесс, и все пошло норм. Там главное понять как они работают, а потом уже становится ясно как в том или ином случае действовать.

Ну, степень "набить руку" у всех разная, с этим сложно спорить, но уровне пользователя CF - какие-то вещи решаются только полным сбросом DB, или надо лезть в какие-то кишки.

Например, сущность, имеющая связи "один ко многим" с трёмя другими сущностями, причём эти другие сущности - одного типа. Грубо:

Менеджер:
.Заказы
.Заказы на особом контроле
.Нежелательные заказы

CF щемится дать имена связующим таблицам, просто прибавляя в конце 1/2/3 - и когда откатываешь/накатываешь миграции - иногда наступает конфликт имен.

Пишу по памяти, могу быть неточен.

Надо указывать промежуточным таблицам имена вручную.

И таких нюансов там немало.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814550
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомИ таких нюансов там немало.+1
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39814561
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортом,

Ну у нас с генерацией самих миграций заморок таких не было, но, были в основном из-за разных веток и совместной работы. Потом наконец-то перешли на воркфлов с фича-бренчами и все эти проблемы ушли - там просто нужно не забывать, что когда с другой веткой мержишься, то надо потом саму базу откатить на развилку веток, а потом снова её накатить, т.к. из чужой ветки могут прийти еще и более ранние чужие миграции. Т.е. принцип просто в том, что твоя копия БД должна всегда быть строго синхронизирована с той цепочкой миграций, что есть в твоей рабочей ветке - иначе при генерации очередной будет джоппа.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39835033
Calabonga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий МухCalabongaпропущено...

Ну, вообще-то, я не перевод просил, а "плюсы и минусы" или может быть проблемы, с которыми может кто столкнулся.
Но спасибо за совет, а не за обоснования :)
За 15+ лет уже по большому счёту по фигу...

В одном проекте лучше так, в другом сяк, в третьем интеграция со сторонними сервисами, в четвёртом файловое хранилище, в пятом MongoDB, Couchbase, GraphQL...

Вам там виднее, что у вас за проект, какие цели и что использовать для эффективного их достижения.
У меня опыт уже... с 89-го года... сколько это.. Не важно и всё равно я точно знаю, что CodeFirst лучше, ибо логика в классах, а значит - unit-тесты, версионность и прочая хрень... Мне не нужно себя убеждать, мне нужно директора по архитектуре убедить... :)
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39835067
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CalabongaCodeFirst лучше, ибо логика в классах, а значит - unit-тесты, версионность и прочая хрень...
Всё это по большому счёт к Code First и Entity Framework не имеет никакого отношения

Там, где MongoDB и GraphQL, там тоже логика в классах, unit-тесты, версионность, а ни Code First, ни Database First не применимы :)

Ещё раз: подходите с точки зрения конретного проекта. Почему именно в нём эффективнее использовать Code First?
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39835077
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Calabonga,

а что вы вообще под подходом Database First подразумеваете?
а то прочитав "логика в классах, а значит - unit-тесты, версионность и прочая хрень", начинаешь думать, что что-то своё
типа логика в хранимых процедурах и прочая фигня..
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39835079
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще Database First - это разве не тупо исторически первый подход в рамках Entity Framework?
а Code First с автоматизацией делает его атавизмом по сути?
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39835388
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухCode First с автоматизацией делает его атавизмом по сути?
Да :)
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39836136
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Муха что вы вообще под подходом Database First подразумеваете?

всё просто. привет из двухтысячных! клепаем БД в менеджере, потом генерируем код на основе созданной БД. никакой девопс не пройдёт!

:)


Дмитрий МухТам, где MongoDB и GraphQL, там тоже логика в классах, unit-тесты, версионность, а ни Code First, ни Database First не применимы :)

чёй-то неприменима сразу. MongoDB, GraphQL это как раз Code First only, только без миграций.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39836138
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортом+\- Можно базу в дезайнере сделать.
- Чтобы что-то изменить, возможно надо кого-то просить.

ну hand job... надож чем-то людей занять.
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39836186
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttчёй-то неприменима сразу. MongoDB, GraphQL это как раз Code First only, только без миграций.
ну, ну... это именно это, но только без этого и того )))
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39836582
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухhVosttчёй-то неприменима сразу. MongoDB, GraphQL это как раз Code First only, только без миграций.
ну, ну... это именно это, но только без этого и того )))

еще можно добавить (можете, конечно, засрать, типа так "фу-фу") что реляционная таблица для нескольких задач разных разработчиков: один делает миграцию по своим полям (при этом энтити вообще нет, чисто проекции), другой по своим
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39836584
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухCalabongaCodeFirst лучше, ибо логика в классах, а значит - unit-тесты, версионность и прочая хрень...
Всё это по большому счёт к Code First и Entity Framework не имеет никакого отношения
+146
...
Рейтинг: 0 / 0
CodeFirst vs DatabaseFirst
    #39836598
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухhVosttчёй-то неприменима сразу. MongoDB, GraphQL это как раз Code First only, только без миграций.
ну, ну... это именно это, но только без этого и того )))

квадратное оно немножко зелёное )
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / CodeFirst vs DatabaseFirst
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]