|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
hVosttАлексей КЯ тебе говорю о методах проектирования, об способах описании структуры данных, об учёте физических особенностей СУБД на этапе проектирования. Причём тут программа? UML vs ER при проектировании, может так будет понятнее. При том, что бизнесу положить большой болт на способы хранения в твой любимой СУБД. Ты же не будешь объяснять пользователю про реляционные связи и что тебе надо все по таблицам раскладывать? Если ты не болен конечно. А ты идёшь в разработке не от бизнеса, а от СУБД, что крайне глупо и не дальновидно.Я сначала строю концептуальную модель, потом по ней строю структуру БД, потом всё остальное. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 10:55 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
hVosttАлексей Кзы: энумы тоже можно сгенерировать по БД. Благо T4 Text Template теперь в комплекте. фу-фу-фу... какая жесть. Ну строковые константы с ролями системы безопасности генерируются, и все довольны. Но я сразу сказал, что энумы - это уже перебор. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 10:56 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Алексей КhVosttпропущено... При том, что бизнесу положить большой болт на способы хранения в твой любимой СУБД. Ты же не будешь объяснять пользователю про реляционные связи и что тебе надо все по таблицам раскладывать? Если ты не болен конечно. А ты идёшь в разработке не от бизнеса, а от СУБД, что крайне глупо и не дальновидно.Я сначала строю концептуальную модель, потом по ней строю структуру БД, потом всё остальное. А твоя концептуальная модель на чём написана? Если не на C#, то явно это убого. Ну что ещё может быть более удобным, чем описание модели на C#? Я имею ввиду, на нормальном языке программирования, а не эти ваши UML, хреномель и прочие базы данных. Они все какие-то ограниченные, подогнанные под свои узенькие задачки, и при расширении начинают напоминать кучу костылей, слепленных соплями - вот-вот развалятся под напором протекающих абстракций. Выбрали бы с самого начала нормальный программерский язык для моделирования таких вещей - это было бы меньшим из зол. Но зато сразу куча преимуществ - не надо городить всю эту костыльную семантическую обслугу в виде SQL и прочей хрени. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:02 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Ещё один минус CF - миграции. На каждый чих писать тонны кода. Вот есть у меня несколько таблиц, сделанных по классам через наследование: так или так . Создал я БД. Теперь хочу поменять эти классы на композицию. Ну, тут надо ручками всё переписывать. Так мало того, что надо все модели в коде переделать, так ещё миграции прописать. Даже для трёх таблиц с полудесятком полей в каждой это будет под два экрана кода миграций. Если в БД данных нет и она небольшая, то проще будет создать новую БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:12 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Alexey2112Если в БД данных нет и она небольшая, то проще будет создать новую БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:12 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Alexey2112Алексей Кпропущено... Я сначала строю концептуальную модель, потом по ней строю структуру БД, потом всё остальное. А твоя концептуальная модель на чём написана?Когда как. Может быть и простенькая ER-схемка карандашиком на бумаге. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:16 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Alexey2112Ещё один минус CF - миграции. На каждый чих писать тонны кода. Вот есть у меня несколько таблиц, сделанных по классам через наследование: так или так . Создал я БД. Теперь хочу поменять эти классы на композицию. Ну, тут надо ручками всё переписывать. Так мало того, что надо все модели в коде переделать, так ещё миграции прописать. Даже для трёх таблиц с полудесятком полей в каждой это будет под два экрана кода миграций. Если в БД данных нет и она небольшая, то проще будет создать новую БД.Раньше писали миграции на чистом SQL DDL, теперь SQL DDL обёрнут в C#. Кому как больше нравится. А само оно не напишется, чудес не бывает. Впрочем, есть всякие сравниватели БД, выдающие SQL DDL для дельты схемы, но я им как-то не доверяю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:19 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Alexey2112Если в БД данных нет, то проще будет создать новую БД.Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:23 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Алексей КAlexey2112пропущено... А твоя концептуальная модель на чём написана?Когда как. Может быть и простенькая ER-схемка карандашиком на бумаге. Как из неё сгенерить БД и ОРМ? А вот CF могёт. C# - сила! Алексей КAlexey2112Ещё один минус CF - миграции. На каждый чих писать тонны кода. Вот есть у меня несколько таблиц, сделанных по классам через наследование: так или так . Создал я БД. Теперь хочу поменять эти классы на композицию. Ну, тут надо ручками всё переписывать. Так мало того, что надо все модели в коде переделать, так ещё миграции прописать. Даже для трёх таблиц с полудесятком полей в каждой это будет под два экрана кода миграций. Если в БД данных нет и она небольшая, то проще будет создать новую БД.Раньше писали миграции на чистом SQL DDL, теперь SQL DDL обёрнут в C#. Кому как больше нравится. А само оно не напишется, чудес не бывает. Впрочем, есть всякие сравниватели БД, выдающие SQL DDL для дельты схемы, но я им как-то не доверяю. Что с данными происходит, когда вот так мигрируют? Не проще иногда создать новую чистую БД и туда данные из старой перегнать? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:24 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Alexey2112Алексей Кпропущено... Когда как. Может быть и простенькая ER-схемка карандашиком на бумаге. Как из неё сгенерить БД и ОРМ?БД создаётся ручками, потому что концептуальная схема не содержит всех необходимых деталей для создания БД. А ORM-обёртка уже генерируется по БД. Alexey2112А вот CF могёт. C# - сила!Верю. :-) Alexey2112Алексей Кпропущено... Раньше писали миграции на чистом SQL DDL, теперь SQL DDL обёрнут в C#. Кому как больше нравится. А само оно не напишется, чудес не бывает. Впрочем, есть всякие сравниватели БД, выдающие SQL DDL для дельты схемы, но я им как-то не доверяю. Что с данными происходит, когда вот так мигрируют? Не проще иногда создать новую чистую БД и туда данные из старой перегнать?Ну тут зависит от ситуации. Да, в каких-то случаях возможно проще отдать со следующей версией новую БД + конвертер данных в неё. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:29 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Alexey2112Алексей Кпропущено... Я сначала строю концептуальную модель, потом по ней строю структуру БД, потом всё остальное. А твоя концептуальная модель на чём написана? Если не на C#, то явно это убого. Ну что ещё может быть более удобным, чем описание модели на C#? Я имею ввиду, на нормальном языке программирования, а не эти ваши UML, хреномель и прочие базы данных. Они все какие-то ограниченные, подогнанные под свои узенькие задачки, и при расширении начинают напоминать кучу костылей, слепленных соплями - вот-вот развалятся под напором протекающих абстракций. Выбрали бы с самого начала нормальный программерский язык для моделирования таких вещей - это было бы меньшим из зол. Но зато сразу куча преимуществ - не надо городить всю эту костыльную семантическую обслугу в виде SQL и прочей хрени. не гони ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:56 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Алексей КЯ сначала строю концептуальную модель, потом по ней строю структуру БД, потом всё остальное. Т.е. по твоей концептуальной модели наследования тупо не рассматриваются, только потому что потом ты будешь всё раскладывать по реляционным таблицам? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 11:58 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Алексей КА ORM-обёртка уже генерируется по БД. 1. Как это потом синхронизируется и поддерживается? Я имею в виду миграции. 2. Может ли ОРМ создать схему в пустой БД? 3. Без сгенерированного класса из БД теперь ни чихнуть ни пукнуть? Поясню, с CF мне понадобился новый класс, он не содержит бизнес-данных, поэтому его очевидно нет в концептуальной модели, но содержит данные, нужные для реализации части бизнес-логики. Я создаю класс по ходу написания кода, без отрыва "от производства", сразу пишу тесты и сразу могу протестировать. Запускаю дебаг и оно СРАЗУ работает, так как миграции и все дела. ORM это уже давным давно больше, чем обёртка над БД. По крайне мере, если говорить об EF. Поэтому генерация из БД это ущёрбный подход. Может только если на первоначальной стадии, а дальше CF. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 12:03 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
hVosttАлексей КЯ сначала строю концептуальную модель, потом по ней строю структуру БД, потом всё остальное. Т.е. по твоей концептуальной модели наследования тупо не рассматриваются, только потому что потом ты будешь всё раскладывать по реляционным таблицам?Наследование описывается ER отношением 1-1, не? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 12:04 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
ViPRosAlexey2112пропущено... А твоя концептуальная модель на чём написана? Если не на C#, то явно это убого. Ну что ещё может быть более удобным, чем описание модели на C#? Я имею ввиду, на нормальном языке программирования, а не эти ваши UML, хреномель и прочие базы данных. Они все какие-то ограниченные, подогнанные под свои узенькие задачки, и при расширении начинают напоминать кучу костылей, слепленных соплями - вот-вот развалятся под напором протекающих абстракций. Выбрали бы с самого начала нормальный программерский язык для моделирования таких вещей - это было бы меньшим из зол. Но зато сразу куча преимуществ - не надо городить всю эту костыльную семантическую обслугу в виде SQL и прочей хрени. не гони Пришёл главный ненавистник CF. А почему, кстати, ненавистник? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 12:08 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
hVosttАлексей КА ORM-обёртка уже генерируется по БД. 1. Как это потом синхронизируется и поддерживается? Я имею в виду миграции.Как будто до появления EF миграции никто не делал. Рукописный SQL DDL. hVostt2. Может ли ОРМ создать схему в пустой БД?Ну EF может это делать? У меня EF. hVostt3. Без сгенерированного класса из БД теперь ни чихнуть ни пукнуть? Поясню, с CF мне понадобился новый класс, он не содержит бизнес-данных, поэтому его очевидно нет в концептуальной модели, но содержит данные, нужные для реализации части бизнес-логики. Я создаю класс по ходу написания кода, без отрыва "от производства", сразу пишу тесты и сразу могу протестировать. Запускаю дебаг и оно СРАЗУ работает, так как миграции и все дела.Я ничего не понял. hVosttORM это уже давным давно больше, чем обёртка над БД. По крайне мере, если говорить об EF. Поэтому генерация из БД это ущёрбный подход. Может только если на первоначальной стадии, а дальше CF.Да пожалуйста, мне не жалко. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 12:09 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Alexey2112ViPRosпропущено... не гони Пришёл главный ненавистник CF. А почему, кстати, ненавистник?Смотри шире, он ненавистник РМД и ООП. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 12:10 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
hVosttгенерация из БД это ущёрбный подход. Может только если на первоначальной стадии, а дальше CF. Не на первоначальной стадии, ты хотел сказать, а на стадии дизайнера. Т. е. нужно просто создать/заиметь визуальный дизайнер таблиц. И чтобы каждое его действие сразу в миграцию отображалось - как в пакетах Офиса каждое действите логируется на VB. Тогда можно будет макросы писать для БД. Но, если почитать блоги команды EF, редактор у них либо будет нескоро, либо вообще не. Что, конечно, не хорошо. Я вот диаграммами пока удовлетворяюсь - сделал БД на CF, отправил на сервер, смотрю диаграмму получившуюся. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 12:16 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Alexey2112Но, если почитать блоги команды EF, редактор у них либо будет нескоро, либо вообще не. Что, конечно, не хорошо.В Visual Studio есть Class Diagramm. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 12:21 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Алексей КAlexey2112Но, если почитать блоги команды EF, редактор у них либо будет нескоро, либо вообще не. Что, конечно, не хорошо.В Visual Studio есть Class Diagramm. Там ключики жёлтенькие и восьмёрки на боку есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 14:16 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
Алексей ККак будто до появления EF миграции никто не делал. Рукописный SQL DDL. Я не любитель клавадрочерства )) Алексей КЯ ничего не понял. Написал классы, сразу заюзал, затестил, таблицы появились в базе. Сами. Всё само, автоматизация. Гастрабайтеры, у которых просто тяма не развита, пусть дрочат дизайнеры и клаву )) Алексей КДа пожалуйста, мне не жалко. :-) Мне тоже не жалко, ешь кактусы )) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 14:29 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
hVosttНаписал классы, сразу заюзал, затестил, таблицы появились в базе. Сами. Всё само, автоматизация. Гастрабайтеры, у которых просто тяма не развита, пусть дрочат дизайнеры и клаву )) Мне тоже не жалко, ешь кактусы )) Ввел метаданные, сразу появилось готовое приложение. Нифига делать не надо (никаких сраных "классов", форм, миграций и т.д.). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 14:56 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
hVosttНаписал классы, ... затестил А как данные тестить? И зачем? Я думал, только логику тестят. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 15:26 |
|
Покритикуйте EF code-first
|
|||
---|---|---|---|
#18+
ViPRoshVosttНаписал классы, сразу заюзал, затестил, таблицы появились в базе. Сами. Всё само, автоматизация. Гастрабайтеры, у которых просто тяма не развита, пусть дрочат дизайнеры и клаву )) Мне тоже не жалко, ешь кактусы )) Ввел метаданные, сразу появилось готовое приложение. Нифига делать не надо (никаких сраных "классов", форм, миграций и т.д.). Это универсальное приложение, которое имеет одну кодовую базу для мобилок и десктопа, имеет масштабирующийся интерфейс типа Continuity? Про кроссплатформенность не говорю - все, кто истекают слюнями по андроидам, яблокам и вебу будут гореть в аду. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 15:28 |
|
|
start [/forum/topic.php?fid=17&startmsg=38977128&tid=1349537]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 250ms |
0 / 0 |