|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
AntonariyhVosttпропущено... Ты про .NET Core, или EF Core?я про это: 20678555 Я так не делал, не знаю :0 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 14:11 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVostt, есть такая фигня - https://www.codeproject.com/Articles/1160615/Generating-Code-for-EF-Core-with-CatFactory ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 14:44 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
ViPRoshVostt, есть такая фигня - https://www.codeproject.com/Articles/1160615/Generating-Code-for-EF-Core-with-CatFactory Всё равно, до сих пор не понимаю смысла :) Code First это же миграции. А если БД уже есть, надо лишь продолжить её существование, то как бы первой миграции не должно быть. Это можно сделать конечно, там есть ключик, но это ломает подход. Наверное лучше всё же Model First. На мой взгляд сугубо. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 14:55 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
ViPRoshVostt, есть такая фигня - https://www.codeproject.com/Articles/1160615/Generating-Code-for-EF-Core-with-CatFactory фигня какая-то. db first, только в профиль. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 15:35 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVostt, ModelFirst - это не то что лучше, а единственный подход Все эти БД, код и т.д. вторичны ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 15:46 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
ViPRos, Да они все об одном и том же: статичная схема данных, проста выбирается точка, где схема будет изменяться: в коде, в модели или в бд. Зависит от того, кто к чему привык. Мне нравится подход из кода, так я могу разрабатывать вообще не открывая СУБД, просто указал коннекшен стринг и забыл. Есть проект у нас, такой не очень большой, я БД в глаза не видел чё там внутри, просто создавал классы, генерировал миграции из кода. И это работает на отлично. Никаких косяков ни разу не было. Но сейчас, конечно, мы уже отошли от этого :) У нас сразу 3 разных СУБД (Postgres, Mongo, ElasticSearch), и EF со своими шашечками пролетает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 17:07 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVosttУ нас сразу 3 разных СУБД (Postgres, Mongo, ElasticSearch), и EF со своими шашечками пролетает.То есть ЕF не используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 22:14 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
как-то противоречиво) hVosttИ это работает на отлично. Никаких косяков ни разу не было. hVosttНо сейчас, конечно, мы уже отошли от этого :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 22:28 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
Petro123как-то противоречиво) hVosttИ это работает на отлично. Никаких косяков ни разу не было. hVosttНо сейчас, конечно, мы уже отошли от этого :)без косяков скучно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2017, 23:25 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
AntonariyТо есть ЕF не используете? Только в проектах на поддержке, ещё активно используем. В новых пока нет. Petro123как-то противоречиво) hVosttИ это работает на отлично. Никаких косяков ни разу не было. hVosttНо сейчас, конечно, мы уже отошли от этого :) Не противоречиво, EF отлично справляется со своими задачами. Но у нас уровень задач вырос, и EF уже не подходит. Используем Dapper для работы с SQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 20:22 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVosttAntonariyТо есть ЕF не используете? Только в проектах на поддержке, ещё активно используем. В новых пока нет.а что используете? классический System.Data...? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 22:06 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
а, dapper ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 22:06 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
не понял, в нем нужно пейсать текстовый sql-говнокод? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 22:09 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
Antonariyне понял, в нем нужно пейсать текстовый sql-говнокод? Dapper работает чисто с SQL, да. Означает ли это, что его надо писать вручную? Вовсе нет :) Кто мешает написать свой SqlBuilder? Задачка-то не сложная. Хотя могут быть такие SQL, которые лучше написать вручную, полностью или частично. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 22:51 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
Antonariy, Мы используем CQRS/ES. Все таблицы в SQL полностью динамические, т.е. изначально там вообще нет ни одной таблицы. По мере добавления агрегатов, добавляются таблицы, для реализации Read Model. Поэтому EF нам тут никак не поможет ничем. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 22:53 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVostt, лучше вообще не пользоваться data class и тогда нафиг и этот даппер не нужен будет ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 22:56 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVosttAntonariy, Мы используем CQRS/ES. Все таблицы в SQL полностью динамические, т.е. изначально там вообще нет ни одной таблицы. По мере добавления агрегатов, добавляются таблицы, для реализации Read Model. Поэтому EF нам тут никак не поможет ничем. может, если модель ваш влезает в EDM, то можно EDM налету сгенерировать и пользоваться EF, чем всякие недоделки в виде дапперов у меня модель не влезает EDM, да и РМ тоже (из за агрегатных ссылочных типов - это типа "Сборочная единица" = Union(Изделие, Деталь, ПКИ, Материал,...,Заготовка). Мало того - этот агрегат динамичен. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 23:00 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
и еще много чего со ссылочными типами, пересекающимися схемами 9макротипы) и т.д. надо еще какой то слой сверх-рядом с ЕДМ :( но можно все же взять ЕДМ и сваять сверху свой слой - все же лучше наверное было бы - за счет поддержки ЕФ многих провайдеров ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 23:03 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
ViPRosлучше вообще не пользоваться data class и тогда нафиг и этот даппер не нужен будет Не понимаю о чём ты. ViPRosможет, если модель ваш влезает в EDM, то можно EDM налету сгенерировать и пользоваться EF, чем всякие недоделки в виде дапперов Недоделка в виде даппера используется в реализации StackOverflow, они же её и сделали. Наша модель не может использоваться в EDM, так как создаётся в рантайме, а SQL база воссоздаётся и ведётся из событий. Миграция тоже событие. ViPRosу меня модель не влезает EDM, да и РМ тоже (из за агрегатных ссылочных типов - это типа "Сборочная единица" = Union(Изделие, Деталь, ПКИ, Материал,...,Заготовка). Мало того - этот агрегат динамичен. Ну тогда, ты понимаешь о чём я. Правда у нас агрегат это понятие из DDD, а у тебя какое-то собственное понятие ViPRosи еще много чего со ссылочными типами, пересекающимися схемами 9макротипы) и т.д. У нас любой бизнес-тип, это инфо-тип. Ссылочный тип, это всего лишь один из типов системы инфо-типов. Ссылка это всегда идентификатор на агрегат. Так как идентификаторы уникальны, мы можем чисто по ID найти любой, не зная ни типа, ни таблицы, ничего. Только ID. Аналогия такая же, как в .NET имея ссылку на Object, ты можешь получить GetType() и делать свои дела. ViPRosнадо еще какой то слой сверх-рядом с ЕДМ :( но можно все же взять ЕДМ и сваять сверху свой слой - все же лучше наверное было бы - за счет поддержки ЕФ многих провайдеров EDM это про статическую модель. Тем более, у нас сейчас SQL это чисто только READ, никаких операций пользовательских INSERT или UPDATE нет вообще в принципе. Только SELECT и точка. Зачем над EDM? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2017, 23:29 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVosttУ нас любой бизнес-тип, это инфо-тип. Ссылочный тип, это всего лишь один из типов системы инфо-типов. Ссылка это всегда идентификатор на агрегат. Так как идентификаторы уникальны, мы можем чисто по ID найти любой, не зная ни типа, ни таблицы, ничего. Только ID. Аналогия такая же, как в .NET имея ссылку на Object, ты можешь получить GetType() и делать свои дела. агрегат у меня - это некоторое множество ваших инфотипов (они и же просто типы и они ж ссылочные типы) то что по ИД можно вычислить тип и т.д., означает наличие громадного лукапирущего типа - Объект, что воще то чревато, трудно вести его :( hVosttТем более, у нас сейчас SQL это чисто только READ, никаких операций пользовательских INSERT или UPDATE нет вообще в принципе. Только SELECT и точка. Зачем над EDM? ну значит либо система мало должна писать, либо будет работать медленно ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2017, 00:06 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVosttEDM это про статическую модель. EDM можно генерировать в рантайме и пользовать ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2017, 00:08 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
ViPRosагрегат у меня - это некоторое множество ваших инфотипов (они и же просто типы и они ж ссылочные типы) то что по ИД можно вычислить тип и т.д., означает наличие громадного лукапирущего типа - Объект, что воще то чревато, трудно вести его :( Нет никакого громадного лупапирующего типа. Это простая возможность, мы её не планировали, просто получили нахаляву :) Инфо-тип у нас тоже агрегат. ViPRosну значит либо система мало должна писать, либо будет работать медленно Вообще-то пофигу сколько она будет писать. Скорость чтения у нас максимально возможная в принципе. Скорость записи тоже быстрая, так как пишутся события. Но это всё не даётся бесплатно. За всё приходится платить избыточностью, но никого это не парит. Это вообще -- последнее, что кого-то парит. ViPRosEDM можно генерировать в рантайме и пользовать Ну какой смысл EDM в райнтайме? EDM это типизация, смысл которой только исключительно в разработке. В рантайме нафиг не упёрлась. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2017, 00:57 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVosttНу какой смысл EDM в райнтайме? EDM это типизация, смысл которой только исключительно в разработке. В рантайме нафиг не упёрлась.да уж. видел разработчиков, которые считают, что и объектная модель, все эти implements и extends, переносится в машинный код после компиляции. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2017, 11:17 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
hVostt За всё приходится платить избыточностью, но никого это не парит. Это вообще -- последнее, что кого-то парит.Если избыточность генерируется - не вопрос. А если говнокодится руками? Это же время, которое - деньги. Хорошо, когда и времени и денег выше крыши, но обычно это не так. Приходится идти на компромиссы. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2017, 11:21 |
|
EF Core Database First -> Code First
|
|||
---|---|---|---|
#18+
AntonariyЕсли избыточность генерируется - не вопрос. А если говнокодится руками? Это же время, которое - деньги. Хорошо, когда и времени и денег выше крыши, но обычно это не так. Приходится идти на компромиссы. Я имел в виду избыточность данных, а не избыточность кода. Кода, кстати, получается на порядки меньше, чем если бы ту же задачу мы решали классическим способом, через EF. И с течением времени, количество порядков растёт. Например, добавили 50 сущностей, с логикой, валидацией, формочками, со сложной безопасностью, с проверками, с полноценной историей с откатами, и... не написали ни строчки кода, ничего не компилировали, не перевыкладывали. Нужные таблички в SQL создались, в ElasticSearch создались индексы для поиска. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2017, 11:38 |
|
|
start [/forum/topic.php?fid=17&msg=39497075&tid=1349274]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 238ms |
total: | 518ms |
0 / 0 |