Гость
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Entity Framework Code First нюансы в работе / 25 сообщений из 33, страница 1 из 2
22.12.2018, 11:04
    #39751592
gelit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
Есть команда из нескольких человек. Есть проект EF Code First.

Подскажите как правильно работать с миграциями что бы не было конфликтов? Могут ли миграции добавлять несколько человек или только один?
...
Рейтинг: 0 / 0
22.12.2018, 19:02
    #39751698
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
gelit,

суть миграций, что они должны идти один за другим.

исполнить такой же трюк с БД, как с контролем версий, когда можно смержить 100500 веток и устранить конфликты руками -- не выйдет.

дело тут не в EF.

добавляйте миграции друг за другом, по договорённости. если так вышло, что вы добавили миграцию, и получили код, где кто-то создал миграцию до вас, откатите свою миграцию и создайте снова.

если вас не тыща человек, разбросанных по земному шару, проблем не будет :)
...
Рейтинг: 0 / 0
22.12.2018, 22:52
    #39751756
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
hVostt,

можно было бы просто сказать - ЕФ этого не умеет :)
...
Рейтинг: 0 / 0
23.12.2018, 00:07
    #39751763
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
EF может переклинить когда в жало работаешь, что уж говорить о команде?

Пускай миграции генерит ОДИН человек, по доменной модели - и всё. База одна - человек один - точка генерации миграций одна. И всё.
...
Рейтинг: 0 / 0
23.12.2018, 02:26
    #39751784
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
ViPRoshVostt,

можно было бы просто сказать - ЕФ этого не умеет :)

при чём тут умение-то? ты можешь его заставить засунуть миграции в любом порядке, это просто защита от идиота. :)
...
Рейтинг: 0 / 0
23.12.2018, 02:27
    #39751785
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
Агнец за бортомEF может переклинить когда в жало работаешь, что уж говорить о команде?

Пускай миграции генерит ОДИН человек, по доменной модели - и всё. База одна - человек один - точка генерации миграций одна. И всё.

никогда проблем не было. не нагнетайте )
...
Рейтинг: 0 / 0
23.12.2018, 12:18
    #39751823
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
hVosttАгнец за бортомEF может переклинить когда в жало работаешь, что уж говорить о команде?

Пускай миграции генерит ОДИН человек, по доменной модели - и всё. База одна - человек один - точка генерации миграций одна. И всё.

никогда проблем не было. не нагнетайте )

Что такое "переклинить"?

Это когда уже недостаточно просто изменить классы модели и вызвать команды добавления миграций и обновления DB. Нужно конфигурить файлы конфигов с указанием - на какие именно таблицы мапить связи.

СВЯЗИ.

Ибо EF один раз пройдёт update корректно, а потом (после откатов туда-сюда) - запутается в именах и вывалится с ошибкой.

В своих далеко не сложных проектах - постоянно надо "колдовать" с EF.

Но удобство работы с данными всё окупает.
...
Рейтинг: 0 / 0
23.12.2018, 15:14
    #39751878
gelit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
hVostt,

Добавлять друг за другом не получится, у каждого свой бранч, перед выкладкой все сливаются в основной бранч.
Как тогда правильно построить процесс? Перед сливанием откатывать миграции и не заливать их в свой бранч? Потом генерить миграции в основной ветке?
...
Рейтинг: 0 / 0
24.12.2018, 00:11
    #39751978
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
gelithVostt,

Добавлять друг за другом не получится, у каждого свой бранч, перед выкладкой все сливаются в основной бранч.
Как тогда правильно построить процесс? Перед сливанием откатывать миграции и не заливать их в свой бранч? Потом генерить миграции в основной ветке?

давайте ещё раз.

вам прежде, чем первый этаж построить, нужно сделать фундамент.
а вы говорите, "у нас так не получится", -- ВСМЫСЛЕ??
БД это не код, это единая структура данных: таблиц, связей, функций и т.п. всё между собой взаимосвязано.

сама суть миграций в том, что они идут друг за другом, каждый кирпичик кладётся на существующий.
одна миграция переименовывает поле, а вторая делает связь на это поле, что должно получиться?
как вы это собираетесь "мержить"? это же не строчки кода.

как я уже и сказал, если кто-то успел сделать миграцию перед вашей, то свою откатываете, потом создаёте заново. делов на пару минут. какой ещё процесс вам тут нужен?
...
Рейтинг: 0 / 0
24.12.2018, 00:12
    #39751979
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
Агнец за бортомИбо EF один раз пройдёт update корректно, а потом (после откатов туда-сюда) - запутается в именах и вывалится с ошибкой.

с чего бы это?
откат миграции не основывается на маппинге, это конкретный сценарий, даже если ты все свои ентити грохнешь, всё сработает.
...
Рейтинг: 0 / 0
24.12.2018, 07:28
    #39752013
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
hVostt,
Вы спорите про одно и то же.
Один говорит что точка миграции одна. Второй что коммиты для мерже следуют друг за другом.
...
Рейтинг: 0 / 0
24.12.2018, 07:37
    #39752016
love_bach
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
gelitЕсть команда из нескольких человек. Есть проект EF Code First.

Подскажите как правильно работать с миграциями что бы не было конфликтов? Могут ли миграции добавлять несколько человек или только один?

1. чтобы при миграциях не было конфликтов вообще - не получится
2. конечно, добавлять миграции может много человек. это такой же код, как и все остальное
3. правильно - отказаться от миграций EF, делать их руками, например, чз FluentMigrator. миграции, которые автоматом генерятся EF - это днище.
...
Рейтинг: 0 / 0
24.12.2018, 08:35
    #39752021
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
love_bach,

Код: c#
1.
2.
3.
Create.Table("EXAMPLE_TABLE")
          .WithColumn("ID").AsInt16().NotNullable().PrimaryKey("PK_EXAMTABL_ID")
      


?
Нет уж. Я лучше на SQL.
...
Рейтинг: 0 / 0
24.12.2018, 08:37
    #39752022
love_bach
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
Petro123love_bach,

Код: c#
1.
2.
3.
Create.Table("EXAMPLE_TABLE")
          .WithColumn("ID").AsInt16().NotNullable().PrimaryKey("PK_EXAMTABL_ID")
      


?
Нет уж. Я лучше на SQL .

да, так даже лучше
...
Рейтинг: 0 / 0
24.12.2018, 08:40
    #39752023
love_bach
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
love_bachPetro123love_bach,

Код: c#
1.
2.
3.
Create.Table("EXAMPLE_TABLE")
          .WithColumn("ID").AsInt16().NotNullable().PrimaryKey("PK_EXAMTABL_ID")
      


?
Нет уж. Я лучше на SQL .

да, так даже лучше

просто тут уже есть запускатель миграций и таблица версий. чтобы не боянить свой
...
Рейтинг: 0 / 0
24.12.2018, 08:59
    #39752032
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
love_bach,
Угу. Дай и js язык заменим на что нибудь.
Язык бд заменили. Теперь js заменим.
...
Рейтинг: 0 / 0
24.12.2018, 11:42
    #39752108
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
love_bach3. правильно - отказаться от миграций EF, делать их руками, например, чз FluentMigrator. миграции, которые автоматом генерятся EF - это днище.

всё днище, что не удалось осилить.

есть знакомый программер, который считает всё кроме его ЯП днищем, потому что сколько не пытался выйти за рамки своего ЯП, не получается. поэтому днище :)
...
Рейтинг: 0 / 0
24.12.2018, 11:46
    #39752112
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
Petro123hVostt,
Вы спорите про одно и то же.
Один говорит что точка миграции одна. Второй что коммиты для мерже следуют друг за другом.

лично я не спорю.

я работал в проектах, где на EF пилили много человек, БД большая и сложная, всё на code-first-миграциях и всё было нормально. автомиграции работают отлично, нужно нормально описывать модель.

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

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

кому-то по душе мартышкин труд. как говорится, не умеешь работать головой -- работай руками!
...
Рейтинг: 0 / 0
26.12.2018, 11:37
    #39753323
gelit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
Еще вопрос накатывания вьюх, процедур, триггеров вместе с миграциями.
Как этот процесс лучше организовать?
...
Рейтинг: 0 / 0
26.12.2018, 12:38
    #39753344
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
gelitЕще вопрос накатывания вьюх, процедур, триггеров вместе с миграциями.
Как этот процесс лучше организовать?нельзя быть немножко беременным.
Это уже DatabaseFirst.
...
Рейтинг: 0 / 0
26.12.2018, 13:27
    #39753377
gelit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
Petro123,

При Code First подходе есть только таблички? Никакой логики на стороне БД нельзя делать?
...
Рейтинг: 0 / 0
26.12.2018, 13:36
    #39753394
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
gelitПри Code First подходе есть только таблички?

Только классы.
...
Рейтинг: 0 / 0
26.12.2018, 15:29
    #39753464
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
gelitPetro123,

При Code First подходе есть только таблички? Никакой логики на стороне БД нельзя делать?
Уже сказали).
Слово табличка вообще забудь).
Бизнес логика возле классов в АппСервере. (для веб)
...
Рейтинг: 0 / 0
26.12.2018, 15:51
    #39753492
love_bach
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
gelitPetro123,

При Code First подходе есть только таблички? Никакой логики на стороне БД нельзя делать?

Нет никакого "Code First" - есть средство для автоматического формирования миграций "искаробки". Оно не полноценное. Пиши в миграции руками все, что тебе надо для твоего хранилища
...
Рейтинг: 0 / 0
26.12.2018, 16:19
    #39753509
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Entity Framework Code First нюансы в работе
love_bachНет никакого "Code First"

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


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