|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Решил осилить EF, первый опыт был с самыми ранними версиями, потому долгое время смотрел на EF, как на гавно. Тем временем, по моему субьективному мнению, EF перестал быть гавном. И его надо изучить и забыть сраный NHibernate. В связи с этим вопрос. Я так понимаю раньше был ObjectContext/ObjectSet, сейчас DbContext/DbSet. Так вот ObjectContext/ObjectSet - все, в топку? DbContext/DbSet - наше всё? Вопрос второй. Кто-нибудь вообще коде фирстом пользуеццо? Как обстоят дела с апгрейдом схемы? (Я древний, потому ананирую на тулзы вроде PowerDesigner и ими рулю скрипты обновления, соответственно подход DatabaseFirst). Студенты наступают на пятки со своим CodeFirst'ом мол модно и все тут. Кто че скажет. Пилите кулстори! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2012, 14:06 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
печалька - сраный NHibernate :( ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2012, 14:08 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Где-то в степи, это не так, я не знаю как такой прием называется в русском языке. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2012, 14:16 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Также, засоветуйте книжки по EF5, я знаю у вас есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2012, 14:17 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Lord BritishТакже, засоветуйте книжки по EF5, я знаю у вас есть. по-моему достаточно пары статей в гуглах ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2012, 22:39 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Lord BritishКто-нибудь вообще коде фирстом пользуеццо?Причём весьма успешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2012, 22:15 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КLord BritishКто-нибудь вообще коде фирстом пользуеццо?Причём весьма успешно. +1, CodeFirst - рулит, DbFirst - гумно ) P.S. Кодартиклс на фирсте состряпан ) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.12.2012, 13:39 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУP.S. Кодартиклс на фирсте состряпан )Неожиданно... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 08:57 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМСУP.S. Кодартиклс на фирсте состряпан )Неожиданно... Нужно быть в тренде :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 11:15 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
а я использую вот такой же подход: 13665079 если честно генерить по коду базу даже не представляю как. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 14:39 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Кстати, Лёня, ну-ка предъявите свой шаблончик для фирста, если он будет приятен, закину его в базейку знаний :) P.S. Принципиальное требование , чтобы гавношаблон генерил вот такую плюшку: http://codearticles.ru/Home/ArticleView/2144 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 15:24 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanМСУ, а че не http://visualstudiogallery.msdn.microsoft.com/5d663b99-ed3b-481d-b7bc-b947d2457e3c ? Там чё, нужно сначала генерить свою edmx по $edmxInputFile$, а потом перегенерять контекст на новые рельсы? Разработчик этого поделия что, травы укурился? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 16:18 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУКстати, Лёня, ну-ка предъявите свой шаблончик для фирста, если он будет приятен, закину его в базейку знаний :) P.S. Принципиальное требование , чтобы гавношаблон генерил вот такую плюшку: http://codearticles.ru/Home/ArticleView/2144 Берём тэтэшник из BLToolkit, переделываем под себя. Времени требуется часа два, не меньше. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 16:35 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМСУКстати, Лёня, ну-ка предъявите свой шаблончик для фирста, если он будет приятен, закину его в базейку знаний :) P.S. Принципиальное требование , чтобы гавношаблон генерил вот такую плюшку: http://codearticles.ru/Home/ArticleView/2144 Берём тэтэшник из BLToolkit, переделываем под себя. Времени требуется часа два, не меньше. :-) Я не спрашивал что-откуда нужно взять и что-куда нужно положить, а тем более сколько времени на это нужно... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 16:39 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУ, очень удобно - за тебя все генерится. по своему усмотрению можешь менять выходной код, логику генерации. Лично мне подход крайне удобен. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 16:48 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanМСУ, очень удобно - за тебя все генерится. по своему усмотрению можешь менять выходной код, логику генерации. Лично мне подход крайне удобен. Смысл кодефирста в полностью оторванных от БД классах - чистые непорченные сущности (можешь маппинги атрибутами натягивать или через флюент, как в хибе). Если же использовать твой способ (и Лёнин тоже, пока он не показал мне t4), то не вижу особой разницы между классическим DbFirst, в котором, кстати, есть полноценный гламурный дизайнер. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 16:54 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanЛично мне подход крайне удобен. Ты вдумайся в саму паранормальность идеи - сгенерить edmx в дизайнере с автогенеренной моделью, подключиться к нему из гавношаблона и еще разок нагенерить чистых проксей. Только идиоту придет в голову такая идея. Хотя бы такой подход - http://codearticles.ru/Home/ArticleView/1168 (сам писал, но там еще допиливать под хранимки нужно). Но не то, что ты предлагаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 16:57 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... Берём тэтэшник из BLToolkit, переделываем под себя. Времени требуется часа два, не меньше. :-) Я не спрашивал что-откуда нужно взять и что-куда нужно положить, а тем более сколько времени на это нужно... :)Да я понял. :-) Просто это не чисто моё решение, поэтому публиковать его я немного стесняюсь. Вдруг кто обидится, на и некрасиво как-то... :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 17:19 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУnetivanЛично мне подход крайне удобен. Ты вдумайся в саму паранормальность идеи - сгенерить edmx в дизайнере с автогенеренной моделью, подключиться к нему из гавношаблона и еще разок нагенерить чистых проксей. Только идиоту придет в голову такая идея. Хотя бы такой подход - http://codearticles.ru/Home/ArticleView/1168 (сам писал, но там еще допиливать под хранимки нужно). Но не то, что ты предлагаешь.+1 Тоже не вижу смысла в промежуточном edmx. Нужно генерить сразу по БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 17:21 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КПросто это не чисто моё решение, поэтому публиковать его я немного стесняюсь. Вдруг кто обидится, на и некрасиво как-то... :-) не подумумай, что я клещ какой-то, но... :)Жарю ультрамальвин И танцую один Остальные стесняются Не надо стесняться ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 17:36 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей К, может я чего-то не понял, но чем вам edmx мешает? В нем и визуально структуру БД можно увидеть,что тоже удобно. А генерация кода происходит пользовательским инструментом, почему МСУ назвал его "говношаблоном" мне неясно ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 18:04 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanАлексей К, может я чего-то не понял, но чем вам edmx мешает?Когда я выбирал DbContext API, одной из целей было отказаться от неудачного дизайнера, кодогенератора и XML-мэппинга. netivanВ нем и визуально структуру БД можно увидеть,что тоже удобно.И без того диаграмму можно увидеть в: 1. Родные средства MSSQL. 2. Class Diagram в Visual Studio. netivanА генерация кода происходит пользовательским инструментом, почему МСУ назвал его "говношаблоном" мне неясноНу он ему просто не нравится. :-) По причине ненужного промежуточного edmx. С чем я полностью согласен. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 18:21 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей К, ну ок, но дело в том, что этот edmx не генерит "кривой" код, который и мне не нравится. А является лишь визуальным представлением. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 18:29 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanАлексей К, ну ок, но дело в том, что этот edmx не генерит "кривой" код, который и мне не нравится.Ну там вроде как есть кодогенерация ObjectContext. Или она отключена? netivanА является лишь визуальным представлением.Не совсем. Это лишний слой, который требуется синхронизировать с БД . Зачем ещё какие-то метаданные, если их и без того в БД хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 18:39 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Как обстоят дела с апгрейдом схемы? (В случае Code First). Я так понимаю это для хлипких проектиков или нет? У нас просто есть системы, где с помощью PowerDesigner генерится скрипт изменений в БД. Потом он просматривается и всякие ресурсоемкие штуки переписываются руками с помощью DBMS-specific фич. Типа online table redefinition и т. п.. Потом этот скрипт продрачивается до полного консенсуса на тестовой, потом только в продакшн. И как с этим CodeFirstom быть? o_O может оно не подходит для всех проектов? Распишите по пунктам, как вы делаете? Я ведь правильно понимаю, что гавнасхема генерится по классам, на которых расставлены аттрибуты или FluentAPI? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 19:18 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
И еще один вопрос. Кто-нибудь использовал его в случае если DBMS Oracle? Как оно с вызовом процедур/функций пакетов? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 19:22 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Прочитал ссылку, которую дали в теме Алексей КИспользование code-first API не обязывает по объектам генерировать базу. Берём T4 Text Template и по БД генерируем объекты. Так это тот же DbFirst, только юзается code first api? БД уже есть, а вы по ней классы генерите, я правильно понял. Кстати, можете вкратце, что может заставить не использовать встроенный дизайнер и не делать все это мышкой, а писать свой T4 template, после которого все равно надо будет подправлять? Я читал что-то про синхронизацию. И что - обновили storage scheme, mapping и concept не изменился, мышкой в дизайнере поклацали и все. Не? Можете описать случаи? PS Книжек нарыл. Скоро обложусь. Тут кто-то писал и статьи хватит. Люди умудрились написать книжки 500 (ObjectContext) стр. и 200 (DbContext), 199 (Code First API) стр.. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 19:49 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Lord British, да. Книжки действительно может быть лишние, денек погуглите на эту тему. Для меня основной плюс DbContext это производительность в новых версиях EF. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 19:53 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КnetivanНе совсем. Это лишний слой, который требуется синхронизировать с БД . Зачем ещё какие-то метаданные, если их и без того в БД хватает. +1, в двух местах нужно обновлять контексты - это идиотизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 20:16 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
говно все это ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 21:11 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
ViPRosговно все это Датасеты наше всё, начальник? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.12.2012, 21:46 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУ, нет Прогер воще не должен нать что там внутри. ОРМ должен быть прозрачен для прогера. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 00:05 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
ViPRos, ну так а в чем непрозрачность кодефирста? Только честно, вообще работал с энтити? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 00:09 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Lord BritishКстати, можете вкратце, что может заставить не использовать встроенный дизайнер и не делать все это мышкой,Ну сделай диаграмму на 50+ таблиц, там сам поймёш. Lord Britishа писать свой T4 template, после которого все равно надо будет подправлять?Нужно сделать такой, чтобы после него подправлять не пришлось. Если нужны какие-то преобразования метаданных при генерации - это нужно делать в самом шаблоне, а не править вручную результат генерации. Lord BritishЯ читал что-то про синхронизацию. И что - обновили storage scheme, mapping и concept не изменился, мышкой в дизайнере поклацали и все. Не? Можете описать случаи?Что тут описывать? Возми да попробуй. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 06:07 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanДля меня основной плюс DbContext это производительность в новых версиях EF.DbContext по своей природе не может работать быстрее ObjectContext. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 07:18 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
По-хорошему в фирсте кодогенерация по шаблону нафиг не нужна. По сути прибиваемся снова гвоздями к базе данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 08:09 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КnetivanДля меня основной плюс DbContext это производительность в новых версиях EF.DbContext по своей природе не может работать быстрее ObjectContext. :-) http://codearticles.ru/Home/ArticleView/2148 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 08:13 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУПо сути прибиваемся снова гвоздями к базе данных.И это хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 08:42 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМСУПо сути прибиваемся снова гвоздями к базе данных.И это хорошо. Да, но для CodeFirst подхода :) А то используем фирст, а без базы жить не можем. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 10:36 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... И это хорошо. Да, но для CodeFirst подхода :) А то используем фирст, а без базы жить не можем.Я использую не code-first, а DbContext API. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 11:37 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМСУпропущено... Да, но для CodeFirst подхода :) А то используем фирст, а без базы жить не можем.Я использую не code-first, а DbContext API. :-) Выкрутился :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 11:50 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... Я использую не code-first, а DbContext API. :-) Выкрутился :)Да. :-) Но ведь действительно, в EF присутствует некоторый бардак с названиями. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:13 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей К, тогда я не понимаю. давайте разберемся. Да, кодогенерацию из edmx попробуйте, вы же любите эксперименты :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:13 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей К в EF присутствует некоторый бардак с названиями. Ну почему же :) http://msdn.microsoft.com/en-us/data/gg192989.aspx Version 4.1 of the Entity Framework contains both the Code First approach and the new DbContext API. This API provides a more productive surface for working with the Entity Framework and can be used with the Code First, Database First , and Model First approaches. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:16 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей К, вы кстати свой шаблон так и не показали. Секрет фирмы ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:17 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanДа, кодогенерацию из edmx попробуйте, вы же любите эксперименты :) Ну он сказал уже, что в топку. Ибо там начинаются тормоза при большом количестве сущностей. Это основная причина того, что edmx отправляется на помойку. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:18 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanДа, кодогенерацию из edmx попробуйтеНе. Не хочу пользоваться неудобным дизайнером. Кодогенерация напрямую из БД избавляет меня от этого неудобства. :-) Если БД маленькая - с дизайнером ещё как-то можно. К сожалению, в моей практике такие не встречаются. :-) netivanвы же любите эксперименты :)Только если от них есть для меня практическая польза. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:19 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanАлексей К, вы кстати свой шаблон так и не показали. Секрет фирмы ? +1 Да, да, Лёня, колись давай. А я тебе за это расскажу, как такой мощнейший полнотекстовый поиск сделал http://codearticles.ru/Home/Search ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:20 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей К, погодите, может быть я не понимаю. Каким образом edmx будет тормозить? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:22 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanАлексей К, вы кстати свой шаблон так и не показали. Секрет фирмы ?А пожалуйста. :-) Исходник во вложении. Пример использования: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:25 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanАлексей К, погодите, может быть я не понимаю. Каким образом edmx будет тормозить? http://stackoverflow.com/questions/6185918/entity-framework-4-1-for-large-number-of-tables-715 Конкретный ответLarge database is always something special. Any technology has some pros and cons when working with a large database. The problem you have encountered is the most probably related to building the model. When you start the application and use EF related stuff for the first time EF must build the model description and compile it - this is the most time consuming operation you can find in EF. Complexity of this operation grows with number of entities in the model. Once the model is compiled it is reused for the whole lifetime of the application (if you restart the application or unload application domain the model must be compiled again). You can avoid this by precompiling the model. It is done at design time where you use some tool to generate code from the model and you include that code into your project (it must be done again after each change in the model). For EDMX based models you can use EdmGen.exe to generate views and for code first based models you can use EF Power Tools CTP1. EDMX (the designer) was improved in VS 2010 SP1 to be able to work with large models but I still think the large in this case is around 100 entities / tables. In the same time you rarely need 715 tables in the same model. I believe that these 715 tables indeed model several domains so you can divide them into multiple models. The same is true when you are using DbContext and code first. If you model a class do you think that it is correct design when the class exposes 715 properties? I don't think so but that is exactly what your derived DbContext looks like - it has a public property for each exposed entity set (in the simplest mapping it means one property per table). Same entity can be used in multiple models but you should try to avoid it as much as possible because it can introduce some complexities when loading entity in one context type and using it in other context type. Code only = code first = Entity framework when you define mapping in the code without using EDMX. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:26 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Вдогонку, навсякий... Сделано на базе генератора от BLToolkit. Частично переписано, но кое что осталось. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:26 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanАлексей К, погодите, может быть я не понимаю. Каким образом edmx будет тормозить?Ну просто мне кажется, что работать с диаграммой, содержащей 100+ квадратиков и XXX стрелочек несколько неудобно. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:28 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей К, если вы про тормоза самого дизайнера, то может быть. у меня около 50 квадратиков. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:37 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КА пожалуйста. :-) Пощупал... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
За такие классы в прикладном коде, Лёша, с именованиями типа "Articles_Catalog_CatalogId_Reference", "Catalogs_Parent_CatalogId_Reference" и иже, хочется сходить в конюшню к конюху и одолжить у него плеть :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:38 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУЗа такие классы в прикладном коде, Лёша, с именованиями типа "Articles_Catalog_CatalogId_Reference", "Catalogs_Parent_CatalogId_Reference" и иже, хочется сходить в конюшню к конюху и одолжить у него плеть :)Я считаю такой принцип именования ассоциаций наиболее правильным! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:39 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КЯ считаю такой принцип именования ассоциаций наиболее правильным! Ты где такую траву берешь? :) Правильнее наименований у вот таких маппингов и быть ничего не может. Во-вторых, за отсутствие плюрализации - сразу веником из избы! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:43 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУПравильнее наименований у вот таких маппингов и быть ничего не может. Во-вторых, за отсутствие плюрализации - сразу веником из избы!Плюрализация только добавит беспорядка. Более того, я не верю в плюрализацию, которая работает всегда и везьде - это утопия. А раз это так - значит она нах не нужна. В BLToolkit-ном варианте она была (есть), я её убрал. А если между таблицами несколько связей? Вручную будете имена придумывать? Это не наш метод! По названию видно по каким полям идёт связь. Поначалу тоже было непривычно, потом привык, даже понравилось. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:49 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КПлюрализация только добавит беспорядка. Как-раз наоборот, она внесет ясность в именования и сделает модели более понятными. Алексей КБолее того, я не верю в плюрализацию, которая работает всегда и везьде - это утопия. А раз это так - значит она нах не нужна. В BLToolkit-ном варианте она была (есть), я её убрал. Ты должен верить в плюрализацию, верь мне. Она работает везде в 99% случаев, а где не работает, используется дефолтное имя. Во-вторых, не плюрализация виновата, а виноват кодирующая db-обезьянка кривожопница, которая нагавняла в именованиях базы. Алексей КА если между таблицами несколько связей? Вручную будете имена придумывать? Это не наш метод! Давать пользователю классов самому подправлять, как это сделано в edmx (без потери изменений при ран растоме). В твоем же случае этого нет, разве что выдумывать пользовательские настройки к шаблону, что есть грабли. Алексей КПо названию видно по каким полям идёт связь. Поначалу тоже было непривычно, потом привык, даже понравилось. :-) Это утопия. Да ну нах такой гавнокод, друх. Еще раз убедился, что либо человеческий DbFirst с мощным дизайнером и всеми его гибкими настройками, либо человеческий CodeFist для полностью мануального управления классами. Всё остально - какашка без соуса от конструкторов изобретателей, которым заняться нечем :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:56 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУParent_CatalogId А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 12:58 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КnetivanДа, кодогенерацию из edmx попробуйтеНе. Не хочу пользоваться неудобным дизайнером. Кодогенерация напрямую из БД избавляет меня от этого неудобства. :-) Если БД маленькая - с дизайнером ещё как-то можно. К сожалению, в моей практике такие не встречаются. :-) netivanвы же любите эксперименты :)Только если от них есть для меня практическая польза. :-) Я извиняюсь, а для чего вы всю схему БД тяните себе в приложение? Почему не создаете отдельные контексты под определенные наборы задач. И еще CSDL вроде как может быть разделена на отдельные файлы. Пока сам не глядел. Интересно выслушать мнения. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:01 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КnetivanАлексей К, погодите, может быть я не понимаю. Каким образом edmx будет тормозить?Ну просто мне кажется, что работать с диаграммой, содержащей 100+ квадратиков и XXX стрелочек несколько неудобно. :-) В Power Designer например можно строить диаграммы по частям относящимся к определенным задачам. :) Ну и в студии вроде также не? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:03 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей КА если между таблицами несколько связей? Вручную будете имена придумывать? Это не наш метод! Давать пользователю классов самому подправлять, как это сделано в edmx (без потери изменений при ран растоме). В твоем же случае этого нет, разве что выдумывать пользовательские настройки к шаблону, что есть грабли.Видимо речь идёт о SetViewMetadata() . Это не "грабли", а полезная возможность. В представленном примере затесалось добавление первичного ключа к вьюхе, по понятным причинам БД его дать не может. Туда можно вставлять любые преобразования метаданных, в том числе можно явно указать имя ассоциации ( возможно придётся чуть поправить генератор ). Но мне это не надо, есть возможность однозначно расчитать имя ассоциации, что и сделано. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:03 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМСУParent_CatalogId А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-) А как правильно? ParentCatalogId или CatalogId? А как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:05 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМСУParent_CatalogId А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-) А у меня нет таких полей, есть ParentCatalogId. Разницу чуешь? :) Можешь назвать как хочешь, хоть CatalogId. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:07 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Lord BritishЯ извиняюсь, а для чего вы всю схему БД тяните себе в приложение? Почему не создаете отдельные контексты под определенные наборы задач.Нельзя делать запрос к сущностям, живущим в разных контекстах. Следовательно, может возникнуть необходимость дублирования классов-сущностей в разных дб-контекстах. А это, на мой взгляд, не хорошо. Lord BritishИ еще CSDL вроде как может быть разделена на отдельные файлы. Пока сам не глядел. Интересно выслушать мнения.Там в новых версиях EF вроде как добавили возможность разделения диаграммы на части в рамках одного контекста. Ничего больше по этому поводу добавить не могу, не смотрел. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:07 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей Квозможно придётся чуть поправить генератор Мне не нужно постоянно править генератор, мне нужен полноценный настраиваемый механизм. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:09 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Lord BritishА как правильно? ParentCatalogId или CatalogId? А как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID? Видимо он считает, что Catalogs_Parent_CatalogId_Reference лучше ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:10 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУLord BritishА как правильно? ParentCatalogId или CatalogId? А как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID? Видимо он считает, что Catalogs_Parent_CatalogId_Reference лучше Это пестдец, такую шнягу протаскивать в прикладном коде. Ну Лёша порадовал... Поле MainDataSupplierId развернется в такую траву: SystemSuppliers_MainDataSupplier_MainDataSupplierId_Reference Расстрелятьвсехнах (c) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:13 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Lord BritishА как правильно? ParentCatalogId или CatalogId?Ну может ParentID ? Lord BritishА как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID?Ага, у меня была такая ситуация, когда тренировался с DB2, просто жесть. Могу только посоветовать пользоваться нормальными СУБД, коих одна - MSSQL. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:13 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей Квозможно придётся чуть поправить генератор Мне не нужно постоянно править генератор, мне нужен полноценный настраиваемый механизм.Мне тоже не нужно его править, я его уже давно не правил. Между нами много общего. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:14 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУМСУпропущено... Видимо он считает, что Catalogs_Parent_CatalogId_Reference лучше Это пестдец, такую шнягу протаскивать в прикладном коде. Ну Лёша порадовал... Поле MainDataSupplierId развернется в такую траву: SystemSuppliers_MainDataSupplier_MainDataSupplierId_Reference Расстрелятьвсехнах (c) Даватьнормальныеименаполямблеать! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:15 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМежду нами много общего. Через силу-таки выбросил поделие в облако P.S. Я негодую ) Для себя еще раз окончательно понял, что либо полноценный ручной кодефирст, либо полноценный автоматический DbFirst с дизайнером. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:17 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей Кпропущено... А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-) А у меня нет таких полей, есть ParentCatalogId. Разницу чуешь? :) Можешь назвать как хочешь, хоть CatalogId.В моём случае главное, чтобы в именах полей не было подчёркиваний. Если не нравится - можно придумать другой принцип именования связей. Мне этот нравится. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:17 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМСУParent_CatalogId А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-) Вопрос еще по этой теме с именованием. Разве пимпочка в дизайнере при генерации модели по готовой БД не помогает "Pluralize or Singularize generated object names". ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:18 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КДаватьнормальныеименаполямблеать! Не вопрос, открываем гавнодизайнер, тянем рученки к гавнополю, правим его и получаем вменяемую модель с вменяемым именем :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:18 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей КМежду нами много общего. Через силу-таки выбросил поделие в облако Ну всё, с этого момента популярность сайта будет рости как на дрожжах! МСУP.S. Я негодую ) Для себя еще раз окончательно понял, что либо полноценный ручной кодефирст, либо полноценный автоматический DbFirst с дизайнером.Ну мучайтесь, мне не жалко. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:20 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КВ моём случае главное, чтобы в именах полей не было подчёркиваний. Если не нравится - можно придумать другой принцип именования связей. Мне этот нравится. 1. Мужик, так это мне твой шаблон сгенерил "Catalogs_Parent_CatalogId_Reference". Как видишь они есть, объяснись? ) 2. Ты считаешь адекватным использовать такие длинные названия свойств моделей в прикладном коде? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:22 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КLord BritishА как правильно? ParentCatalogId или CatalogId?Ну может ParentID ? Lord BritishА как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID?Ага, у меня была такая ситуация, когда тренировался с DB2, просто жесть. Могу только посоветовать пользоваться нормальными СУБД, коих одна - MSSQL. Еще в Oracle будет выглядеть как PARENTCATALOGID и CATALOGID. Там или подчеркивания спасут или своя конвенция сокращений имен и т. п.. или и то и то... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:22 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Lord BritishАлексей Кпропущено... А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-) Вопрос еще по этой теме с именованием. Разве пимпочка в дизайнере при генерации модели по готовой БД не помогает "Pluralize or Singularize generated object names".Мне не помогает. Чуть выше я уже выражал своё отношение к плюрализации имён. :-) Впрочем, это лиш моё мнение, я не настаиваю... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:22 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КНу всё, с этого момента популярность сайта будет рости как на дрожжах! Так поэтому и выбивал шаблон у тебя, чтобы рейты прокачать Алексей КМСУP.S. Я негодую ) Для себя еще раз окончательно понял, что либо полноценный ручной кодефирст, либо полноценный автоматический DbFirst с дизайнером.Ну мучайтесь, мне не жалко. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:23 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КЧуть выше я уже выражал своё отношение к плюрализации имён. :-) ... так и не аргументировав всю злостность и похабность плюрализации ;) P.S. То, что ей место на помойке мы поняли, но зачем так с ней, пока не ясно ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:25 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей КВ моём случае главное, чтобы в именах полей не было подчёркиваний. Если не нравится - можно придумать другой принцип именования связей. Мне этот нравится. 1. Мужик, так это мне твой шаблон сгенерил "Catalogs_Parent_CatalogId_Reference". Как видишь они есть, объяснись? ) Потому что подчёркиваниями в моём случае разделяются части имени. В данном случае речь идёт про back reference . У меня они формируются как: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
МСУ2. Ты считаешь адекватным использовать такие длинные названия свойств моделей в прикладном коде?Вполне. У меня в Visual Studio code-complete есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:28 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КВ данном случае речь идёт про back reference Подчеркивания в принципе зло, back reference это или prior create :) Алексей КВполне. У меня в Visual Studio code-complete есть. Не согласен. За такие атрибуты SystemSuppliers_MainDataSupplier_MainDataSupplierId_Reference нужно отправлять на виселицу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:31 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей КВ данном случае речь идёт про back reference Подчеркивания в принципе злоЭто от безысходности. Вручную давать имена или отдавать их на откуп неведомым алгоритмам плюрализации ещё хуже. МСУАлексей КВполне. У меня в Visual Studio code-complete есть. Не согласен. За такие атрибуты SystemSuppliers_MainDataSupplier_MainDataSupplierId_Reference нужно отправлять на виселицу :)Время нас рассудит... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:34 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей КВполне. У меня в Visual Studio code-complete есть. Не согласен.Да, и с чем не согласны? С тем, что у меня в Visual Studio есть code-complete? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:35 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КЭто от безысходности. Правильно. Что еще раз доказывает злостность вот таких вот самопалов. Алексей КВручную давать имена или отдавать их на откуп неведомым алгоритмам плюрализации ещё хуже. 1. Вручную - единственный способ сохранить всю красоту и понятность атрибутов моделей, что в первую очередь было сделано даже в древнем L2S. 2. Плюрализация - для именования самих моделей, а не их атрибутов. Тут связка "или" не совсем уместна. Алексей КВремя нас рассудит... Злой ты :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:39 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей КВручную давать имена или отдавать их на откуп неведомым алгоритмам плюрализации ещё хуже. 1. Вручную - единственный способ сохранить всю красоту и понятность атрибутов моделей, что в первую очередь было сделано даже в древнем L2S. 2. Плюрализация - для именования самих моделей, а не их атрибутов. Тут связка "или" не совсем уместна.Мне этот геморой не нужен. У меня есть возможность давать нормальные имена полям сразу в БД. Если будет необходимость работать с "плохой БД" - буду думать, но пока такая перспектива лично для меня маловероятна. МСУАлексей КВремя нас рассудит... Злой ты :)Нет, я не злой! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 13:46 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КУ меня есть возможность давать нормальные имена полям сразу в БД ... при этом ты автоматом получаешь "нормальные имена" в прикладном C# коде. P.S. Зло - и точка! ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 15:33 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУ... при этом ты автоматом получаешь "ненормальные имена" в прикладном C# коде ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 15:34 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУМСУ... при этом ты автоматом получаешь "ненормальные имена" в прикладном C# кодеА чего в них не нормального? Там два типа именования. Код: c# 1. 2. 3. 4. 5.
Если ты пишеш в блокноте без кодкомплита, так это твоя проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 15:47 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей К, кстати гляньте шаблон, на который я кинул ссылку. Думаю можете оттуда выкинуть edmx и вам он тоже понравится) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 15:56 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КА чего в них не нормального? Там два типа именования. Твой код мне сгенерил вот такие поля: жестьArticles_Catalog_CatalogId_Reference ArticleFiles_Article_ArticleId_Reference Ты действительно считаешь это "нормой"? Через мои ручные маппинги (атрибутика или флюент) я использую нормальные названия нежестьCatalogs Files Есть разница между "ArticleFiles_Article_ArticleId_Reference" и "Files"? Подумай хорошенько только. Алексей КЕсли ты пишеш в блокноте без кодкомплита, так это твоя проблема. Ах ну да, если мы пишем в студии с кодекомпилитом, то давай гадить везде, где только можно. Кодекомплит же. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 15:59 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Кстати, я-таки вижу реальное применение поделию от Алексея :) Темповый гавносолюшен со всякой шнягой, в котором мы по-бырому генерим новый класс, копируем его в боевой солюшен, чуток фиксим ручками и вуаля! Всё-равно быстрее, чем с нуля руками рисовать. Но пускать такой гумношаблон на продуктив, я промолчу... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 16:01 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanАлексей К, кстати гляньте шаблон, на который я кинул ссылку. Думаю можете оттуда выкинуть edmx и вам он тоже понравится) Так там вся логика шаблона на edmx объектной модели, боюсь так просто выкинуть не получится, придется переписывать двиг. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 16:02 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей КА чего в них не нормального? Там два типа именования. Твой код мне сгенерил вот такие поля: жестьArticles_Catalog_CatalogId_Reference ArticleFiles_Article_ArticleId_Reference Ты действительно считаешь это "нормой"? Через мои ручные маппинги (атрибутика или флюент) я использую нормальные названияМне некогда заниматься ерундой вроде переименования того, что можно сразу назвать правильно. МСУнежестьCatalogs Files Есть разница между "ArticleFiles_Article_ArticleId_Reference" и "Files"? Подумай хорошенько только.Лучше посмотри хорошенько как поля/таблицы именуются в базе. :-) Если их привести в порядок, будет как-то так: ArticleFiles_ArticleID_Reference . МСУАлексей КЕсли ты пишеш в блокноте без кодкомплита, так это твоя проблема. Ах ну да, если мы пишем в студии с кодекомпилитом, то давай гадить везде, где только можно. Кодекомплит же. :)Как минимум можно себе позволить не экономить на названиях. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 16:10 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
netivanАлексей К, кстати гляньте шаблон, на который я кинул ссылку. Думаю можете оттуда выкинуть edmx и вам он тоже понравится)Да мне одного хватило переписывать. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 16:13 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КМне некогда заниматься ерундой вроде переименования того, что можно сразу назвать правильно. Батенька, извини, это твоя работа. На крайняк у тебя есть кодеманки, которыми ты рулишь - поручи самой ответственной :) Алексей КЕсли их привести в порядок, будет как-то так: ArticleFiles_ArticleID_Reference 1. Таблица ArticleFiles с ключом ArticleFileId и ссылочным полем ArticleId, какой еще порядок требуется? 2. Ты считаешь, что вот это гавно (слово "название" даже как-то язык не поворачивается сказать), которое ты написал, намного пёзже, чем "ArticleFiles_Article_ArticleId_Reference"? Алексей ККак минимум можно себе позволить не экономить на названиях. Генерация проксей - это очень важный момент и гадить туда чревато последствиями. Это не экономия, это навозные классы. И стоило ради такого уходить от нативного мощного edmx? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 16:19 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Для любителей чистых классов CodeFirst подход с ручным написанием моделей (как и в хибе) - это выход. Посмотрите на флюент-чистоту кода , даже никакой гряди вроде атрибутов. Идеально. Но то, что предлагает Алексей (полу-фирсто-помёт) - это издевательство над кодеманками, которые будут ковыряться в этом унынии ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 16:23 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУАлексей КЕсли их привести в порядок, будет как-то так: ArticleFiles_ArticleID_Reference 1. Таблица ArticleFiles с ключом ArticleFileId и ссылочным полем ArticleId, какой еще порядок требуется? Должно быть так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
МСУ2. Ты считаешь, что вот это гавно (слово "название" даже как-то язык не поворачивается сказать), которое ты написал, намного пёзже, чем "ArticleFiles_Article_ArticleId_Reference"? Конечно лучше. Я бы сказал, что это идеальное название. Мы ходим по кругу. :-) МСУАлексей ККак минимум можно себе позволить не экономить на названиях. Генерация проксей - это очень важный момент и гадить туда чревато последствиями. Это не экономия, это навозные классы. И стоило ради такого уходить от нативного мощного edmx?Я как-то уже предъявлял претензии к дизайнеру и родному кодогенератору. Мне надоело с ним бороться. Даже если в следующих версиях его улучшат - мне фиолетово, технология разработки внедрена и отлажена, менять её в ближайшее время я не собираюсь. Единственное, что может измениться - уйду с EF на BLToolkit. Его вроде как доделали, им можно пользоваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 16:35 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КДолжно быть так 1. Мне нравится называть идентификаторы именем сущности + плюрализация + "Id". Для Articles идентификатором будет "ArticleId". 2. И даже так не спасает ситуацию, именования свойств слишном длинные и с подчеркиваниями. Зло. Алексей ККонечно лучше. Я бы сказал, что это идеальное название. Мы ходим по кругу. :-) Ты просто давно признал свою затею "злом", но не хочешь этого признавать, ибо как смотреть в честные глаза кодеманкам :)) Алексей КЯ как-то уже предъявлял претензии к дизайнеру и родному кодогенератору. Высосано из пальца и реально не нужно. Алексей КМне надоело с ним бороться. В результате написал какашку, которая "исправляет" ситуацию по тем двум пунктам, но гадит в наименования? Ты ходишь по лезвию бритвы Алексей КДаже если в следующих версиях его улучшат - мне фиолетово, технология разработки внедрена и отлажена, менять её в ближайшее время я не собираюсь. Вот отседова и нужно было начинать ) Алексей Куйду с EF на BLToolkit BLToolkit гумно, нет смысла туда ползти. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 17:01 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУДай T4 погонять? Алексей КА пожалуйста... МСУОй какая бяка, имена длинные... Алексей КНе бяка, а няшка. Имено хоть и не короткие, но и не такие длинные чтобы ныть. Всяко лучше чем плюрализация или ручное именование МСУДа не, имена длинные, генератор бяка... Алексей КДа нет, не бяка, а няшка! МСУДа не, имена длинные, генератор бяка... Алексей КДа нет, не бяка, а няшка! МСУДа не, имена длинные, генератор бяка... Алексей КДа нет, не бяка, а няшка! МСУДа не, имена длинные, генератор бяка... Алексей КДа нет, не бяка, а няшка! МСУДа не, имена длинные, генератор бяка... Алексей КДа нет, не бяка, а няшка! МСУДа не, имена длинные, генератор бяка... Алексей КДа нет, не бяка, а няшка! Я один заметил бесконечный цикл? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 17:09 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Алексей КЯ один заметил бесконечный цикл? Всё, перекур. Пойдём лучше пинать унылого Antonariy со структурами ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 17:11 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
Ок :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 17:13 |
|
EF, DbContext, ObjectContext
|
|||
---|---|---|---|
#18+
МСУViPRos, ну так а в чем непрозрачность кодефирста? Только честно, вообще работал с энтити? :) периодически смотрю, пока не готов функционал для меня. а про производительность и т.д. не знаю когда функционал будет, тогда буду изучать да и то врядь ли, в випросе есть все что требуется ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2012, 19:13 |
|
|
start [/forum/topic.php?all=1&fid=17&tid=1350146]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
133ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
107ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 293ms |
0 / 0 |