Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6   вперед  Ctrl      все
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3695
hVostt
Мы используем. Чистые Code First миграции это экстракт щастья в чистом виде. В базу практически никто не лазит, любые поползновения в базу -- только... только! ТОЛЬКО через слой бизнес-логики, и никак иначе, не канают «ща залезу в БД и чёнить ручками там...», сразу по шаловливым ручонкам. Поетому не возникает ситуаций, когда кто-нить тратит драгоценное время и что-нибудь там в базе «чинит». Модель --> классы --> Code First миграции, и никакого «реверс-инжениринга», ибо незачем решать задачи через задний проход. А DB First это именно задний проход и никаг иначе это назвать нельзя в принципе.

Как вы переносите данные при миграциях?
18 ноя 14, 11:25    [16863941]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
Arm79
hVostt
Мы используем. Чистые Code First миграции это экстракт щастья в чистом виде. В базу практически никто не лазит, любые поползновения в базу -- только... только! ТОЛЬКО через слой бизнес-логики, и никак иначе, не канают «ща залезу в БД и чёнить ручками там...», сразу по шаловливым ручонкам. Поетому не возникает ситуаций, когда кто-нить тратит драгоценное время и что-нибудь там в базе «чинит». Модель --> классы --> Code First миграции, и никакого «реверс-инжениринга», ибо незачем решать задачи через задний проход. А DB First это именно задний проход и никаг иначе это назвать нельзя в принципе.

Как вы переносите данные при миграциях?


Какой перенос? Миграции -- это изменение схемы БД без потери данных и их целостности.
18 ноя 14, 11:29    [16863985]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3695
hVostt
Arm79
Как вы переносите данные при миграциях?


Какой перенос? Миграции -- это изменение схемы БД без потери данных и их целостности.

Поясню. Например, первичное заполнение справочников. В процессе эксплуатации понадобилось в справочники добавить еще какие то значения.

В SSDT есть PostDeploy скрипты, в которые я заношу все что нужно.
18 ноя 14, 11:31    [16864000]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Monochromatique
Member [заблокирован]

Откуда:
Сообщений: 1936
Мутные они какие-то, эти миграции.
Что-нибудь пойдет не так - ищи свищи.
18 ноя 14, 11:36    [16864048]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
Arm79
hVostt
пропущено...


Какой перенос? Миграции -- это изменение схемы БД без потери данных и их целостности.

Поясню. Например, первичное заполнение справочников. В процессе эксплуатации понадобилось в справочники добавить еще какие то значения.

В SSDT есть PostDeploy скрипты, в которые я заношу все что нужно.


Первичные справочники и данные заносятся с помощью операции Seed. Они также заносятся через слой БЛ. Это важно, так как важно обеспечивать не только контроль целостности «сырых» данных (констрейты, связи), но и контроль целостности бизнес-данных. Это можно обеспечить только на уровне БЛ. Никаких допущений делать нельзя, так как это потенциальные дыры, а нам есть чем заняться, кроме как затыкать эти течи и держать эти моменты в голове, документировать и оглядываться на них.
18 ноя 14, 11:38    [16864074]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 22381
Arm79
Поясню. Например, первичное заполнение справочников. В процессе эксплуатации понадобилось в справочники добавить еще какие то значения.
Ну, в автосгенерированный скрипт миграции ты можешь добавить все свои изменения данных - для того он и предназначен.
18 ноя 14, 11:39    [16864087]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
Monochromatique
Мутные они какие-то, эти миграции.
Что-нибудь пойдет не так - ищи свищи.


Сколько работаем с ними, ни разу не пожалели.
18 ноя 14, 11:40    [16864091]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
Monochromatique
Мутные они какие-то, эти миграции.
Что-нибудь пойдет не так - ищи свищи.


Тем более никто свежие миграции в продуктив в здравом уме сразу пихать не будет.
18 ноя 14, 11:41    [16864106]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
carrotik
Member

Откуда:
Сообщений: 1491
hVostt,
.... просю пардону, если чего не так понял, но дополнение справочников через слой БЛ - это сорок негритянок вбивают вручную через веб-формы?
18 ноя 14, 11:43    [16864135]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
hVostt
Arm79
пропущено...

Как вы переносите данные при миграциях?


Какой перенос? Миграции -- это изменение схемы БД без потери данных и их целостности.
Например, решили перенести поле из одной таблицы в другую, с переносом данных, хранящихся в этом поле.
18 ноя 14, 11:51    [16864202]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
carrotik
hVostt,
.... просю пардону, если чего не так понял, но дополнение справочников через слой БЛ - это сорок негритянок вбивают вручную через веб-формы?


Веб-формы это что, слой БЛ?
18 ноя 14, 11:54    [16864223]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
EDUARD SAPOTSKI
Member

Откуда:
Сообщений: 2371
Arm79
hVostt
пропущено...


Какой перенос? Миграции -- это изменение схемы БД без потери данных и их целостности.

Поясню. Например, первичное заполнение справочников. В процессе эксплуатации понадобилось в справочники добавить еще какие то значения.

В SSDT есть PostDeploy скрипты, в которые я заношу все что нужно.

Об этом подумают позже.(с)
Хотя Вы неудачный пример привели. В этом случае добавляется свойство в класс, и столбец в таблицу БД. Проблем нет.
А есть другие примеры:
Есть набор данных, которые целесообразно поместить в одну таблицу. Причем в зависимости от роли пользователя, ему должен быть доступен тот или иной набор столбцов. На уровне БД можно без проблем представлений наделать или хранимкой динамически каждому юзеру нужный набор полей выдавать, а с CF какого размера бубен нужен?
Или есть двевовидная структура. Мождо реализовать через родительский ID записи, или через hierarchyid и еще 100500 способов. Как с CF это сделать?
И что будем делать если требования в этих задачах со временем изменятся?
18 ноя 14, 11:54    [16864229]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 22381
Алексей К
hVostt
пропущено...


Какой перенос? Миграции -- это изменение схемы БД без потери данных и их целостности.
Например, решили перенести поле из одной таблицы в другую, с переносом данных, хранящихся в этом поле.
повторю, в автосгенерированный скрипт миграции ты можешь добавить все свои изменения данных - для того он и предназначен. Скрипт сгенерит DDL убийство одного поля и добавление другого, а ты добавишь между ними перенос данных
18 ноя 14, 11:54    [16864230]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
hVostt
Arm79
пропущено...

Как вы переносите данные при миграциях?


Какой перенос? Миграции -- это изменение схемы БД без потери данных и их целостности.
Например, решили разделить таблицу на две таблицы, связанных отношением 1-1. С переносом данных, разумеется.

зы: примеры можно вспоминать бесконечно...
18 ноя 14, 11:55    [16864237]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 22381
Алексей К
Например, решили разделить таблицу на две таблицы, связанных отношением 1-1. С переносом данных, разумеется.
А ты как это будешь делать, ручками? Ко всем клиентам приезжать и делать? Или один раз скрипт напишешь, чтобы его запускать у каждого клиента? Так это и есть миграционный скрипт, языки только разные.
18 ноя 14, 11:57    [16864249]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
Shocker.Pro
Алексей К
пропущено...
Например, решили перенести поле из одной таблицы в другую, с переносом данных, хранящихся в этом поле.
повторю, в автосгенерированный скрипт миграции ты можешь добавить все свои изменения данных - для того он и предназначен. Скрипт сгенерит DDL убийство одного поля и добавление другого, а ты добавишь между ними перенос данных
1. Убили.
2. Добавили.
3. Пытаемся копировать убитое в п. 1

?

зы: DDL проще писать самому, с учётом особенностей конкретной СУБД.
18 ноя 14, 11:58    [16864257]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
Shocker.Pro
Алексей К
Например, решили разделить таблицу на две таблицы, связанных отношением 1-1. С переносом данных, разумеется.
А ты как это будешь делать, ручками? Ко всем клиентам приезжать и делать? Или один раз скрипт напишешь, чтобы его запускать у каждого клиента? Так это и есть миграционный скрипт, языки только разные.
Разумеется, будет написан DDL SQL скрипт.

Если есть SQL, зачем изобретать новый язык?
18 ноя 14, 11:59    [16864271]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
Алексей К
Например, решили перенести поле из одной таблицы в другую, с переносом данных, хранящихся в этом поле.


Либо перенос описывается в самой миграции. Либо, если изменения существенны, двух степенчатая миграция: сначала неломающие изменения (добавление сущностей, полей, связей), перенос данных ч/з БЛ, как этап миграции, затем вторая ступень (удаления, разрушение связей) -- это более надёжный и правильный подход, так как смена происходит не только на уровне данных, но и логики.
18 ноя 14, 12:00    [16864285]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
hVostt
перенос данных ч/з БЛ.
Переносить гигабайты данных через б/л на EF. Не смешно!
18 ноя 14, 12:02    [16864302]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
EDUARD SAPOTSKI
Причем в зависимости от роли пользователя, ему должен быть доступен тот или иной набор столбцов. На уровне БД можно без проблем представлений наделать или хранимкой динамически каждому юзеру нужный набор полей выдавать, а с CF какого размера бубен нужен?


Какая упоротая смешная бредятина Какое это имеет отношение к разработке ПО? Любишь ковыряться поуши в г.... базе данных? Ну и ковыряйся себе, только чтоб никто этого не видел. Не надо позориться.
18 ноя 14, 12:04    [16864314]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
Алексей К
Например, решили разделить таблицу на две таблицы, связанных отношением 1-1. С переносом данных, разумеется.

зы: примеры можно вспоминать бесконечно...


Ничего сложного. Делались нами миграци и гораздо сложнее. При чём без напряга какого-либо.
18 ноя 14, 12:05    [16864323]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
Алексей К
hVostt
перенос данных ч/з БЛ.
Переносить гигабайты данных через б/л на EF. Не смешно!


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

Ну хватет уже, хватет отжегать
18 ноя 14, 12:07    [16864338]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
hVostt
Алексей К
Например, решили разделить таблицу на две таблицы, связанных отношением 1-1. С переносом данных, разумеется.

зы: примеры можно вспоминать бесконечно...


Ничего сложного. Делались нами миграци и гораздо сложнее. При чём без напряга какого-либо.
Ручным написанием SQL? Верю, сам так делаю. А раз EF-миграции во всех случаях применить нельзя, нафиг они такие нужны.
18 ноя 14, 12:07    [16864345]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
hVostt
Member

Откуда:
Сообщений: 19318
Алексей К
Если есть SQL, зачем изобретать новый язык?


Ну точно-точно, в топку LINQ, ORM и другие богонеугодные вещи. Только SQL! Только хардкор!
18 ноя 14, 12:09    [16864354]     Ответить | Цитировать Сообщить модератору
 Re: посаны а чего сейчас с Ef/Linq?  [new]
Алексей К
Member

Откуда: Новосибирск
Сообщений: 13633
hVostt
Алексей К
Если есть SQL, зачем изобретать новый язык?


Ну точно-точно, в топку LINQ, ORM и другие богонеугодные вещи. Только SQL! Только хардкор!
Всему своё место.
18 ноя 14, 12:09    [16864360]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить