powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF, DbContext, ObjectContext
106 сообщений из 106, показаны все 5 страниц
EF, DbContext, ObjectContext
    #38088149
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил осилить EF, первый опыт был с самыми ранними версиями, потому долгое время смотрел на EF, как на гавно. Тем временем, по моему субьективному мнению, EF перестал быть гавном. И его надо изучить и забыть сраный NHibernate.

В связи с этим вопрос. Я так понимаю раньше был ObjectContext/ObjectSet, сейчас DbContext/DbSet. Так вот ObjectContext/ObjectSet - все, в топку? DbContext/DbSet - наше всё?

Вопрос второй. Кто-нибудь вообще коде фирстом пользуеццо? Как обстоят дела с апгрейдом схемы? (Я древний, потому ананирую на тулзы вроде PowerDesigner и ими рулю скрипты обновления, соответственно подход DatabaseFirst). Студенты наступают на пятки со своим CodeFirst'ом мол модно и все тут. Кто че скажет.

Пилите кулстори!
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38088153
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
печалька - сраный NHibernate :(
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38088167
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степи,

это не так, я не знаю как такой прием называется в русском языке.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38088170
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Также, засоветуйте книжки по EF5, я знаю у вас есть.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38088831
Фотография Местный король Делфей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishТакже, засоветуйте книжки по EF5, я знаю у вас есть.
по-моему достаточно пары статей в гуглах
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38089309
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishКто-нибудь вообще коде фирстом пользуеццо?Причём весьма успешно.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38089599
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КLord BritishКто-нибудь вообще коде фирстом пользуеццо?Причём весьма успешно.
+1, CodeFirst - рулит, DbFirst - гумно )

P.S. Кодартиклс на фирсте состряпан )
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090196
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУP.S. Кодартиклс на фирсте состряпан )Неожиданно...
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090325
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУP.S. Кодартиклс на фирсте состряпан )Неожиданно...
Нужно быть в тренде :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090742
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я использую вот такой же подход: 13665079
если честно генерить по коду базу даже не представляю как.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090814
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, Лёня, ну-ка предъявите свой шаблончик для фирста, если он будет приятен, закину его в базейку знаний :)

P.S. Принципиальное требование , чтобы гавношаблон генерил вот такую плюшку: http://codearticles.ru/Home/ArticleView/2144
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090827
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090888
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanМСУ, а че не http://visualstudiogallery.msdn.microsoft.com/5d663b99-ed3b-481d-b7bc-b947d2457e3c ?
Там чё, нужно сначала генерить свою edmx по $edmxInputFile$, а потом перегенерять контекст на новые рельсы? Разработчик этого поделия что, травы укурился? :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090917
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУКстати, Лёня, ну-ка предъявите свой шаблончик для фирста, если он будет приятен, закину его в базейку знаний :)

P.S. Принципиальное требование , чтобы гавношаблон генерил вот такую плюшку: http://codearticles.ru/Home/ArticleView/2144 Берём тэтэшник из BLToolkit, переделываем под себя. Времени требуется часа два, не меньше. :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090921
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУКстати, Лёня, ну-ка предъявите свой шаблончик для фирста, если он будет приятен, закину его в базейку знаний :)

P.S. Принципиальное требование , чтобы гавношаблон генерил вот такую плюшку: http://codearticles.ru/Home/ArticleView/2144 Берём тэтэшник из BLToolkit, переделываем под себя. Времени требуется часа два, не меньше. :-)
Я не спрашивал что-откуда нужно взять и что-куда нужно положить, а тем более сколько времени на это нужно... :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090938
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

очень удобно - за тебя все генерится. по своему усмотрению можешь менять выходной код, логику генерации. Лично мне подход крайне удобен.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090944
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanМСУ, очень удобно - за тебя все генерится. по своему усмотрению можешь менять выходной код, логику генерации. Лично мне подход крайне удобен.
Смысл кодефирста в полностью оторванных от БД классах - чистые непорченные сущности (можешь маппинги атрибутами натягивать или через флюент, как в хибе). Если же использовать твой способ (и Лёнин тоже, пока он не показал мне t4), то не вижу особой разницы между классическим DbFirst, в котором, кстати, есть полноценный гламурный дизайнер.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090950
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanЛично мне подход крайне удобен.
Ты вдумайся в саму паранормальность идеи - сгенерить edmx в дизайнере с автогенеренной моделью, подключиться к нему из гавношаблона и еще разок нагенерить чистых проксей. Только идиоту придет в голову такая идея.
Хотя бы такой подход - http://codearticles.ru/Home/ArticleView/1168 (сам писал, но там еще допиливать под хранимки нужно). Но не то, что ты предлагаешь.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090974
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Берём тэтэшник из BLToolkit, переделываем под себя. Времени требуется часа два, не меньше. :-)
Я не спрашивал что-откуда нужно взять и что-куда нужно положить, а тем более сколько времени на это нужно... :)Да я понял. :-)

Просто это не чисто моё решение, поэтому публиковать его я немного стесняюсь. Вдруг кто обидится, на и некрасиво как-то... :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090976
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУnetivanЛично мне подход крайне удобен.
Ты вдумайся в саму паранормальность идеи - сгенерить edmx в дизайнере с автогенеренной моделью, подключиться к нему из гавношаблона и еще разок нагенерить чистых проксей. Только идиоту придет в голову такая идея.
Хотя бы такой подход - http://codearticles.ru/Home/ArticleView/1168 (сам писал, но там еще допиливать под хранимки нужно). Но не то, что ты предлагаешь.+1

Тоже не вижу смысла в промежуточном edmx. Нужно генерить сразу по БД.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38090995
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПросто это не чисто моё решение, поэтому публиковать его я немного стесняюсь. Вдруг кто обидится, на и некрасиво как-то... :-)
не подумумай, что я клещ какой-то, но... :)Жарю ультрамальвин
И танцую один
Остальные стесняются
Не надо стесняться
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091038
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

может я чего-то не понял, но чем вам edmx мешает? В нем и визуально структуру БД можно увидеть,что тоже удобно.
А генерация кода происходит пользовательским инструментом, почему МСУ назвал его "говношаблоном" мне неясно
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091060
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanАлексей К,

может я чего-то не понял, но чем вам edmx мешает?Когда я выбирал DbContext API, одной из целей было отказаться от неудачного дизайнера, кодогенератора и XML-мэппинга.

netivanВ нем и визуально структуру БД можно увидеть,что тоже удобно.И без того диаграмму можно увидеть в:
1. Родные средства MSSQL.
2. Class Diagram в Visual Studio.

netivanА генерация кода происходит пользовательским инструментом, почему МСУ назвал его "говношаблоном" мне неясноНу он ему просто не нравится. :-)

По причине ненужного промежуточного edmx. С чем я полностью согласен.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091064
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

ну ок, но дело в том, что этот edmx не генерит "кривой" код, который и мне не нравится. А является лишь визуальным представлением.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091069
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanАлексей К,

ну ок, но дело в том, что этот edmx не генерит "кривой" код, который и мне не нравится.Ну там вроде как есть кодогенерация ObjectContext. Или она отключена?

netivanА является лишь визуальным представлением.Не совсем. Это лишний слой, который требуется синхронизировать с БД . Зачем ещё какие-то метаданные, если их и без того в БД хватает.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091105
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как обстоят дела с апгрейдом схемы? (В случае Code First). Я так понимаю это для хлипких проектиков или нет?

У нас просто есть системы, где с помощью PowerDesigner генерится скрипт изменений в БД. Потом он просматривается и всякие ресурсоемкие штуки переписываются руками с помощью DBMS-specific фич. Типа online table redefinition и т. п.. Потом этот скрипт продрачивается до полного консенсуса на тестовой, потом только в продакшн.

И как с этим CodeFirstom быть? o_O может оно не подходит для всех проектов? Распишите по пунктам, как вы делаете? Я ведь правильно понимаю, что гавнасхема генерится по классам, на которых расставлены аттрибуты или FluentAPI?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091112
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще один вопрос. Кто-нибудь использовал его в случае если DBMS Oracle? Как оно с вызовом процедур/функций пакетов?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091138
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал ссылку, которую дали в теме

Алексей КИспользование 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) стр..
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091144
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord British,

да. Книжки действительно может быть лишние, денек погуглите на эту тему. Для меня основной плюс DbContext это производительность в новых версиях EF.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091162
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КnetivanНе совсем. Это лишний слой, который требуется синхронизировать с БД . Зачем ещё какие-то метаданные, если их и без того в БД хватает.
+1, в двух местах нужно обновлять контексты - это идиотизм.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091192
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
говно все это
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091206
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosговно все это
Датасеты наше всё, начальник?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091327
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

нет
Прогер воще не должен нать что там внутри. ОРМ должен быть прозрачен для прогера.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091331
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos, ну так а в чем непрозрачность кодефирста? Только честно, вообще работал с энтити? :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091422
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishКстати, можете вкратце, что может заставить не использовать встроенный дизайнер и не делать все это мышкой,Ну сделай диаграмму на 50+ таблиц, там сам поймёш.
Lord Britishа писать свой T4 template, после которого все равно надо будет подправлять?Нужно сделать такой, чтобы после него подправлять не пришлось. Если нужны какие-то преобразования метаданных при генерации - это нужно делать в самом шаблоне, а не править вручную результат генерации.
Lord BritishЯ читал что-то про синхронизацию. И что - обновили storage scheme, mapping и concept не изменился, мышкой в дизайнере поклацали и все. Не?

Можете описать случаи?Что тут описывать? Возми да попробуй.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091427
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanДля меня основной плюс DbContext это производительность в новых версиях EF.DbContext по своей природе не может работать быстрее ObjectContext. :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091440
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-хорошему в фирсте кодогенерация по шаблону нафиг не нужна. По сути прибиваемся снова гвоздями к базе данных.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091441
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КnetivanДля меня основной плюс DbContext это производительность в новых версиях EF.DbContext по своей природе не может работать быстрее ObjectContext. :-)
http://codearticles.ru/Home/ArticleView/2148
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091448
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПо сути прибиваемся снова гвоздями к базе данных.И это хорошо.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091546
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУПо сути прибиваемся снова гвоздями к базе данных.И это хорошо.
Да, но для CodeFirst подхода :) А то используем фирст, а без базы жить не можем.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091616
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
И это хорошо.
Да, но для CodeFirst подхода :) А то используем фирст, а без базы жить не можем.Я использую не code-first, а DbContext API. :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091642
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУпропущено...
Да, но для CodeFirst подхода :) А то используем фирст, а без базы жить не можем.Я использую не code-first, а DbContext API. :-)
Выкрутился :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091695
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...
Я использую не code-first, а DbContext API. :-)
Выкрутился :)Да. :-)

Но ведь действительно, в EF присутствует некоторый бардак с названиями.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091696
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

тогда я не понимаю. давайте разберемся.
Да, кодогенерацию из edmx попробуйте, вы же любите эксперименты :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091700
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К в 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.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091704
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

вы кстати свой шаблон так и не показали. Секрет фирмы ?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091708
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanДа, кодогенерацию из edmx попробуйте, вы же любите эксперименты :)
Ну он сказал уже, что в топку. Ибо там начинаются тормоза при большом количестве сущностей. Это основная причина того, что edmx отправляется на помойку.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091711
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanДа, кодогенерацию из edmx попробуйтеНе. Не хочу пользоваться неудобным дизайнером. Кодогенерация напрямую из БД избавляет меня от этого неудобства. :-)
Если БД маленькая - с дизайнером ещё как-то можно. К сожалению, в моей практике такие не встречаются. :-)

netivanвы же любите эксперименты :)Только если от них есть для меня практическая польза. :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091713
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanАлексей К, вы кстати свой шаблон так и не показали. Секрет фирмы ?
+1

Да, да, Лёня, колись давай. А я тебе за это расскажу, как такой мощнейший полнотекстовый поиск сделал http://codearticles.ru/Home/Search
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091719
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

погодите, может быть я не понимаю. Каким образом edmx будет тормозить?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091723
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanАлексей К,

вы кстати свой шаблон так и не показали. Секрет фирмы ?А пожалуйста. :-)

Исходник во вложении. Пример использования:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<#@ template hostSpecific="true" #>
<#@ output extension=".generated.cs" #>
<#@ include file="$(SolutionDir)\TextTemplates\Db\EF\EF.ttinclude" #>
<#@ include file="$(SolutionDir)\TextTemplates\Db\EF\MSSQL.ttinclude" #>
<#	
    ProviderName = "System.Data.SqlClient";
    ConnectionString = @"Data Source=TRACTOR\DEV5;Initial Catalog=Asubm;Integrated Security=True";	
    Namespace = "DbMain";
    DataContextName = "DbMainContext";
    WsNamespace = "WsnsDbMain.DbMain";
	
    LoadMetadata();
    SetViewMetadata();	
    GenerateModel();
#><#+ 	
	void SetViewMetadata()
	{
		Tables["sec_rolesTree"].Columns["RootID"].PKIndex = 1;
		Tables["sec_rolesTree"].Columns["ID"].PKIndex = 2;
	}	
#>
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091727
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091728
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку, навсякий...

Сделано на базе генератора от BLToolkit. Частично переписано, но кое что осталось.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091732
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanАлексей К,

погодите, может быть я не понимаю. Каким образом edmx будет тормозить?Ну просто мне кажется, что работать с диаграммой, содержащей 100+ квадратиков и XXX стрелочек несколько неудобно. :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091748
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

если вы про тормоза самого дизайнера, то может быть. у меня около 50 квадратиков.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091750
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА пожалуйста. :-)

Пощупал...
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
[DataContract(Namespace = WsnsDbMain.DbMain)]
[Table("Catalogs", Schema = "dbo")]
public partial class Catalogs
{
	[Key, Column(Order = 1), DatabaseGenerated(DatabaseGeneratedOption.Identity), DataMember]
	public int? CatalogId { get; set; }

	[Required(ErrorMessage = DbMainContext.RequiredFieldMessage), DataMember]
	public string Title { get; set; }

	[DataMember]
	public int? Parent_CatalogId { get; set; }


	[ForeignKey("Parent_CatalogId")]
	public Catalogs Parent_CatalogId_Reference { get; set; }

	[InverseProperty("Catalog_CatalogId_Reference")]
	public List<Articles> Articles_Catalog_CatalogId_Reference { get; set; }

	[InverseProperty("Parent_CatalogId_Reference")]
	public List<Catalogs> Catalogs_Parent_CatalogId_Reference { get; set; }
}



За такие классы в прикладном коде, Лёша, с именованиями типа "Articles_Catalog_CatalogId_Reference", "Catalogs_Parent_CatalogId_Reference" и иже, хочется сходить в конюшню к конюху и одолжить у него плеть :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091755
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУЗа такие классы в прикладном коде, Лёша, с именованиями типа "Articles_Catalog_CatalogId_Reference", "Catalogs_Parent_CatalogId_Reference" и иже, хочется сходить в конюшню к конюху и одолжить у него плеть :)Я считаю такой принцип именования ассоциаций наиболее правильным!
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091760
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЯ считаю такой принцип именования ассоциаций наиболее правильным!
Ты где такую траву берешь? :) Правильнее наименований у вот таких маппингов и быть ничего не может.
Во-вторых, за отсутствие плюрализации - сразу веником из избы!
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091769
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУПравильнее наименований у вот таких маппингов и быть ничего не может.
Во-вторых, за отсутствие плюрализации - сразу веником из избы!Плюрализация только добавит беспорядка. Более того, я не верю в плюрализацию, которая работает всегда и везьде - это утопия. А раз это так - значит она нах не нужна. В BLToolkit-ном варианте она была (есть), я её убрал.

А если между таблицами несколько связей? Вручную будете имена придумывать? Это не наш метод!

По названию видно по каким полям идёт связь. Поначалу тоже было непривычно, потом привык, даже понравилось. :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091782
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПлюрализация только добавит беспорядка.
Как-раз наоборот, она внесет ясность в именования и сделает модели более понятными.

Алексей КБолее того, я не верю в плюрализацию, которая работает всегда и везьде - это утопия. А раз это так - значит она нах не нужна. В BLToolkit-ном варианте она была (есть), я её убрал.
Ты должен верить в плюрализацию, верь мне. Она работает везде в 99% случаев, а где не работает, используется дефолтное имя. Во-вторых, не плюрализация виновата, а виноват кодирующая db-обезьянка кривожопница, которая нагавняла в именованиях базы.

Алексей КА если между таблицами несколько связей? Вручную будете имена придумывать? Это не наш метод!
Давать пользователю классов самому подправлять, как это сделано в edmx (без потери изменений при ран растоме). В твоем же случае этого нет, разве что выдумывать пользовательские настройки к шаблону, что есть грабли.

Алексей КПо названию видно по каким полям идёт связь. Поначалу тоже было непривычно, потом привык, даже понравилось. :-)
Это утопия. Да ну нах такой гавнокод, друх. Еще раз убедился, что либо человеческий DbFirst с мощным дизайнером и всеми его гибкими настройками, либо человеческий CodeFist для полностью мануального управления классами. Всё остально - какашка без соуса от конструкторов изобретателей, которым заняться нечем :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091786
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУParent_CatalogId
А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091791
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КnetivanДа, кодогенерацию из edmx попробуйтеНе. Не хочу пользоваться неудобным дизайнером. Кодогенерация напрямую из БД избавляет меня от этого неудобства. :-)
Если БД маленькая - с дизайнером ещё как-то можно. К сожалению, в моей практике такие не встречаются. :-)

netivanвы же любите эксперименты :)Только если от них есть для меня практическая польза. :-)

Я извиняюсь, а для чего вы всю схему БД тяните себе в приложение? Почему не создаете отдельные контексты под определенные наборы задач. И еще CSDL вроде как может быть разделена на отдельные файлы. Пока сам не глядел. Интересно выслушать мнения.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091797
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КnetivanАлексей К,

погодите, может быть я не понимаю. Каким образом edmx будет тормозить?Ну просто мне кажется, что работать с диаграммой, содержащей 100+ квадратиков и XXX стрелочек несколько неудобно. :-)

В Power Designer например можно строить диаграммы по частям относящимся к определенным задачам. :) Ну и в студии вроде также не?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091798
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КА если между таблицами несколько связей? Вручную будете имена придумывать? Это не наш метод!
Давать пользователю классов самому подправлять, как это сделано в edmx (без потери изменений при ран растоме). В твоем же случае этого нет, разве что выдумывать пользовательские настройки к шаблону, что есть грабли.Видимо речь идёт о SetViewMetadata() . Это не "грабли", а полезная возможность. В представленном примере затесалось добавление первичного ключа к вьюхе, по понятным причинам БД его дать не может. Туда можно вставлять любые преобразования метаданных, в том числе можно явно указать имя ассоциации ( возможно придётся чуть поправить генератор ). Но мне это не надо, есть возможность однозначно расчитать имя ассоциации, что и сделано.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091802
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУParent_CatalogId
А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-)

А как правильно? ParentCatalogId или CatalogId? А как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091806
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУParent_CatalogId
А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-)
А у меня нет таких полей, есть ParentCatalogId. Разницу чуешь? :) Можешь назвать как хочешь, хоть CatalogId.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091807
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishЯ извиняюсь, а для чего вы всю схему БД тяните себе в приложение? Почему не создаете отдельные контексты под определенные наборы задач.Нельзя делать запрос к сущностям, живущим в разных контекстах. Следовательно, может возникнуть необходимость дублирования классов-сущностей в разных дб-контекстах. А это, на мой взгляд, не хорошо.

Lord BritishИ еще CSDL вроде как может быть разделена на отдельные файлы. Пока сам не глядел. Интересно выслушать мнения.Там в новых версиях EF вроде как добавили возможность разделения диаграммы на части в рамках одного контекста. Ничего больше по этому поводу добавить не могу, не смотрел.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091809
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Квозможно придётся чуть поправить генератор
Мне не нужно постоянно править генератор, мне нужен полноценный настраиваемый механизм.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091810
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishА как правильно? ParentCatalogId или CatalogId? А как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID?
Видимо он считает, что Catalogs_Parent_CatalogId_Reference лучше
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091819
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУLord BritishА как правильно? ParentCatalogId или CatalogId? А как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID?
Видимо он считает, что Catalogs_Parent_CatalogId_Reference лучше
Это пестдец, такую шнягу протаскивать в прикладном коде. Ну Лёша порадовал...

Поле MainDataSupplierId развернется в такую траву: SystemSuppliers_MainDataSupplier_MainDataSupplierId_Reference

Расстрелятьвсехнах (c)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091820
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishА как правильно? ParentCatalogId или CatalogId?Ну может ParentID ?
Lord BritishА как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID?Ага, у меня была такая ситуация, когда тренировался с DB2, просто жесть. Могу только посоветовать пользоваться нормальными СУБД, коих одна - MSSQL.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091823
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Квозможно придётся чуть поправить генератор
Мне не нужно постоянно править генератор, мне нужен полноценный настраиваемый механизм.Мне тоже не нужно его править, я его уже давно не правил. Между нами много общего.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091826
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМСУпропущено...

Видимо он считает, что Catalogs_Parent_CatalogId_Reference лучше
Это пестдец, такую шнягу протаскивать в прикладном коде. Ну Лёша порадовал...

Поле MainDataSupplierId развернется в такую траву: SystemSuppliers_MainDataSupplier_MainDataSupplierId_Reference

Расстрелятьвсехнах (c) Даватьнормальныеименаполямблеать!
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091830
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМежду нами много общего.
Через силу-таки выбросил поделие в облако

P.S. Я негодую ) Для себя еще раз окончательно понял, что либо полноценный ручной кодефирст, либо полноценный автоматический DbFirst с дизайнером.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091831
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей Кпропущено...

А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-)
А у меня нет таких полей, есть ParentCatalogId. Разницу чуешь? :) Можешь назвать как хочешь, хоть CatalogId.В моём случае главное, чтобы в именах полей не было подчёркиваний. Если не нравится - можно придумать другой принцип именования связей. Мне этот нравится.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091832
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМСУParent_CatalogId
А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-)

Вопрос еще по этой теме с именованием.

Разве пимпочка в дизайнере при генерации модели по готовой БД не помогает "Pluralize or Singularize generated object names".
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091834
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КДаватьнормальныеименаполямблеать!
Не вопрос, открываем гавнодизайнер, тянем рученки к гавнополю, правим его и получаем вменяемую модель с вменяемым именем :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091841
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КМежду нами много общего.
Через силу-таки выбросил поделие в облако Ну всё, с этого момента популярность сайта будет рости как на дрожжах!

МСУP.S. Я негодую ) Для себя еще раз окончательно понял, что либо полноценный ручной кодефирст, либо полноценный автоматический DbFirst с дизайнером.Ну мучайтесь, мне не жалко.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091848
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ моём случае главное, чтобы в именах полей не было подчёркиваний. Если не нравится - можно придумать другой принцип именования связей. Мне этот нравится.
1. Мужик, так это мне твой шаблон сгенерил "Catalogs_Parent_CatalogId_Reference". Как видишь они есть, объяснись? )
2. Ты считаешь адекватным использовать такие длинные названия свойств моделей в прикладном коде?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091850
Lord British
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КLord BritishА как правильно? ParentCatalogId или CatalogId?Ну может ParentID ?
Lord BritishА как быть с СУБД в которых это будет выглядеть PARENTCATALOGID и CATALOGID?Ага, у меня была такая ситуация, когда тренировался с DB2, просто жесть. Могу только посоветовать пользоваться нормальными СУБД, коих одна - MSSQL.

Еще в Oracle будет выглядеть как PARENTCATALOGID и CATALOGID. Там или подчеркивания спасут или своя конвенция сокращений имен и т. п.. или и то и то...
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091851
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lord BritishАлексей Кпропущено...

А вот за такие названия полей в базе вообще нужно <censored/> в сортире. Сделайте нормальные имена полей, и ассоциации будут выглядеть лучше. :-)

Вопрос еще по этой теме с именованием.

Разве пимпочка в дизайнере при генерации модели по готовой БД не помогает "Pluralize or Singularize generated object names".Мне не помогает. Чуть выше я уже выражал своё отношение к плюрализации имён. :-)

Впрочем, это лиш моё мнение, я не настаиваю...
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091852
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу всё, с этого момента популярность сайта будет рости как на дрожжах!
Так поэтому и выбивал шаблон у тебя, чтобы рейты прокачать

Алексей КМСУP.S. Я негодую ) Для себя еще раз окончательно понял, что либо полноценный ручной кодефирст, либо полноценный автоматический DbFirst с дизайнером.Ну мучайтесь, мне не жалко.
:)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091856
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЧуть выше я уже выражал своё отношение к плюрализации имён. :-)
... так и не аргументировав всю злостность и похабность плюрализации ;)

P.S. То, что ей место на помойке мы поняли, но зачем так с ней, пока не ясно
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091863
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВ моём случае главное, чтобы в именах полей не было подчёркиваний. Если не нравится - можно придумать другой принцип именования связей. Мне этот нравится.
1. Мужик, так это мне твой шаблон сгенерил "Catalogs_Parent_CatalogId_Reference". Как видишь они есть, объяснись? )
Потому что подчёркиваниями в моём случае разделяются части имени. В данном случае речь идёт про back reference . У меня они формируются как:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
key.MemberName = string.Format(
    "{0}_{1}{2}",
    key.OtherTable.ClassName,
    string.Join(
        "_", 
        key.OtherColumns.Select(v => v.MemberName).ToArray()
    ),
    ReferenceSuffix
);



МСУ2. Ты считаешь адекватным использовать такие длинные названия свойств моделей в прикладном коде?Вполне. У меня в Visual Studio code-complete есть.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091871
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ данном случае речь идёт про back reference
Подчеркивания в принципе зло, back reference это или prior create :)

Алексей КВполне. У меня в Visual Studio code-complete есть.
Не согласен. За такие атрибуты SystemSuppliers_MainDataSupplier_MainDataSupplierId_Reference нужно отправлять на виселицу :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091874
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВ данном случае речь идёт про back reference
Подчеркивания в принципе злоЭто от безысходности. Вручную давать имена или отдавать их на откуп неведомым алгоритмам плюрализации ещё хуже.
МСУАлексей КВполне. У меня в Visual Studio code-complete есть.
Не согласен. За такие атрибуты SystemSuppliers_MainDataSupplier_MainDataSupplierId_Reference нужно отправлять на виселицу :)Время нас рассудит...
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091876
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВполне. У меня в Visual Studio code-complete есть.
Не согласен.Да, и с чем не согласны? С тем, что у меня в Visual Studio есть code-complete?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091880
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЭто от безысходности.
Правильно. Что еще раз доказывает злостность вот таких вот самопалов.

Алексей КВручную давать имена или отдавать их на откуп неведомым алгоритмам плюрализации ещё хуже.
1. Вручную - единственный способ сохранить всю красоту и понятность атрибутов моделей, что в первую очередь было сделано даже в древнем L2S.
2. Плюрализация - для именования самих моделей, а не их атрибутов. Тут связка "или" не совсем уместна.

Алексей КВремя нас рассудит...
Злой ты :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38091895
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КВручную давать имена или отдавать их на откуп неведомым алгоритмам плюрализации ещё хуже.
1. Вручную - единственный способ сохранить всю красоту и понятность атрибутов моделей, что в первую очередь было сделано даже в древнем L2S.
2. Плюрализация - для именования самих моделей, а не их атрибутов. Тут связка "или" не совсем уместна.Мне этот геморой не нужен. У меня есть возможность давать нормальные имена полям сразу в БД. Если будет необходимость работать с "плохой БД" - буду думать, но пока такая перспектива лично для меня маловероятна.
МСУАлексей КВремя нас рассудит...
Злой ты :)Нет, я не злой!
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092088
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КУ меня есть возможность давать нормальные имена полям сразу в БД
... при этом ты автоматом получаешь "нормальные имена" в прикладном C# коде.

P.S. Зло - и точка! ;)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092090
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ... при этом ты автоматом получаешь "ненормальные имена" в прикладном C# коде
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092124
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУМСУ... при этом ты автоматом получаешь "ненормальные имена" в прикладном C# кодеА чего в них не нормального? Там два типа именования.
Код: c#
1.
2.
3.
4.
5.
//Прямая ссылка
ИмяПоля_Reference

//Обратная ссылка
ИмяТаблицы_ИмяПоля_Reference



Если ты пишеш в блокноте без кодкомплита, так это твоя проблема.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092140
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

кстати гляньте шаблон, на который я кинул ссылку. Думаю можете оттуда выкинуть edmx и вам он тоже понравится)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092145
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА чего в них не нормального? Там два типа именования.
Твой код мне сгенерил вот такие поля:
жестьArticles_Catalog_CatalogId_Reference
ArticleFiles_Article_ArticleId_Reference
Ты действительно считаешь это "нормой"?

Через мои ручные маппинги (атрибутика или флюент) я использую нормальные названия
нежестьCatalogs
Files

Есть разница между "ArticleFiles_Article_ArticleId_Reference" и "Files"? Подумай хорошенько только.

Алексей КЕсли ты пишеш в блокноте без кодкомплита, так это твоя проблема.
Ах ну да, если мы пишем в студии с кодекомпилитом, то давай гадить везде, где только можно. Кодекомплит же. :)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092151
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, я-таки вижу реальное применение поделию от Алексея :) Темповый гавносолюшен со всякой шнягой, в котором мы по-бырому генерим новый класс, копируем его в боевой солюшен, чуток фиксим ручками и вуаля! Всё-равно быстрее, чем с нуля руками рисовать.
Но пускать такой гумношаблон на продуктив, я промолчу...
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092152
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanАлексей К,
кстати гляньте шаблон, на который я кинул ссылку. Думаю можете оттуда выкинуть edmx и вам он тоже понравится)
Так там вся логика шаблона на edmx объектной модели, боюсь так просто выкинуть не получится, придется переписывать двиг.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092174
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КА чего в них не нормального? Там два типа именования.
Твой код мне сгенерил вот такие поля:
жестьArticles_Catalog_CatalogId_Reference
ArticleFiles_Article_ArticleId_Reference
Ты действительно считаешь это "нормой"?

Через мои ручные маппинги (атрибутика или флюент) я использую нормальные названияМне некогда заниматься ерундой вроде переименования того, что можно сразу назвать правильно.
МСУнежестьCatalogs
Files

Есть разница между "ArticleFiles_Article_ArticleId_Reference" и "Files"? Подумай хорошенько только.Лучше посмотри хорошенько как поля/таблицы именуются в базе. :-)

Если их привести в порядок, будет как-то так: ArticleFiles_ArticleID_Reference .

МСУАлексей КЕсли ты пишеш в блокноте без кодкомплита, так это твоя проблема.
Ах ну да, если мы пишем в студии с кодекомпилитом, то давай гадить везде, где только можно. Кодекомплит же. :)Как минимум можно себе позволить не экономить на названиях.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092187
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivanАлексей К,

кстати гляньте шаблон, на который я кинул ссылку. Думаю можете оттуда выкинуть edmx и вам он тоже понравится)Да мне одного хватило переписывать. :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092202
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КМне некогда заниматься ерундой вроде переименования того, что можно сразу назвать правильно.
Батенька, извини, это твоя работа. На крайняк у тебя есть кодеманки, которыми ты рулишь - поручи самой ответственной :)

Алексей КЕсли их привести в порядок, будет как-то так: ArticleFiles_ArticleID_Reference
1. Таблица ArticleFiles с ключом ArticleFileId и ссылочным полем ArticleId, какой еще порядок требуется?
2. Ты считаешь, что вот это гавно (слово "название" даже как-то язык не поворачивается сказать), которое ты написал, намного пёзже, чем "ArticleFiles_Article_ArticleId_Reference"?

Алексей ККак минимум можно себе позволить не экономить на названиях.
Генерация проксей - это очень важный момент и гадить туда чревато последствиями. Это не экономия, это навозные классы. И стоило ради такого уходить от нативного мощного edmx?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092214
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для любителей чистых классов CodeFirst подход с ручным написанием моделей (как и в хибе) - это выход. Посмотрите на флюент-чистоту кода , даже никакой гряди вроде атрибутов. Идеально.
Но то, что предлагает Алексей (полу-фирсто-помёт) - это издевательство над кодеманками, которые будут ковыряться в этом унынии
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092245
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАлексей КЕсли их привести в порядок, будет как-то так: ArticleFiles_ArticleID_Reference
1. Таблица ArticleFiles с ключом ArticleFileId и ссылочным полем ArticleId, какой еще порядок требуется?
Должно быть так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
create table Articles
(
    ID int not null primary key
)

create table ArticleFiles
(
    ID int not null primary key,
    ArticleID int not null foreign key references Articles(ID)
)


МСУ2. Ты считаешь, что вот это гавно (слово "название" даже как-то язык не поворачивается сказать), которое ты написал, намного пёзже, чем "ArticleFiles_Article_ArticleId_Reference"? Конечно лучше. Я бы сказал, что это идеальное название. Мы ходим по кругу. :-)

МСУАлексей ККак минимум можно себе позволить не экономить на названиях.
Генерация проксей - это очень важный момент и гадить туда чревато последствиями. Это не экономия, это навозные классы. И стоило ради такого уходить от нативного мощного edmx?Я как-то уже предъявлял претензии к дизайнеру и родному кодогенератору. Мне надоело с ним бороться. Даже если в следующих версиях его улучшат - мне фиолетово, технология разработки внедрена и отлажена, менять её в ближайшее время я не собираюсь. Единственное, что может измениться - уйду с EF на BLToolkit. Его вроде как доделали, им можно пользоваться.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092286
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КДолжно быть так
1. Мне нравится называть идентификаторы именем сущности + плюрализация + "Id". Для Articles идентификатором будет "ArticleId".
2. И даже так не спасает ситуацию, именования свойств слишном длинные и с подчеркиваниями. Зло.

Алексей ККонечно лучше. Я бы сказал, что это идеальное название. Мы ходим по кругу. :-)
Ты просто давно признал свою затею "злом", но не хочешь этого признавать, ибо как смотреть в честные глаза кодеманкам :))

Алексей КЯ как-то уже предъявлял претензии к дизайнеру и родному кодогенератору.
Высосано из пальца и реально не нужно.

Алексей КМне надоело с ним бороться.
В результате написал какашку, которая "исправляет" ситуацию по тем двум пунктам, но гадит в наименования? Ты ходишь по лезвию бритвы

Алексей КДаже если в следующих версиях его улучшат - мне фиолетово, технология разработки внедрена и отлажена, менять её в ближайшее время я не собираюсь.
Вот отседова и нужно было начинать )

Алексей Куйду с EF на BLToolkit
BLToolkit гумно, нет смысла туда ползти.
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092301
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУДай T4 погонять?
Алексей КА пожалуйста...
МСУОй какая бяка, имена длинные...
Алексей КНе бяка, а няшка. Имено хоть и не короткие, но и не такие длинные чтобы ныть. Всяко лучше чем плюрализация или ручное именование
МСУДа не, имена длинные, генератор бяка...
Алексей КДа нет, не бяка, а няшка!
МСУДа не, имена длинные, генератор бяка...
Алексей КДа нет, не бяка, а няшка!
МСУДа не, имена длинные, генератор бяка...
Алексей КДа нет, не бяка, а няшка!
МСУДа не, имена длинные, генератор бяка...
Алексей КДа нет, не бяка, а няшка!
МСУДа не, имена длинные, генератор бяка...
Алексей КДа нет, не бяка, а няшка!
МСУДа не, имена длинные, генератор бяка...
Алексей КДа нет, не бяка, а няшка!

Я один заметил бесконечный цикл?
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092305
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЯ один заметил бесконечный цикл?
Всё, перекур. Пойдём лучше пинать унылого Antonariy со структурами
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092310
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок :-)
...
Рейтинг: 0 / 0
EF, DbContext, ObjectContext
    #38092454
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУViPRos, ну так а в чем непрозрачность кодефирста? Только честно, вообще работал с энтити? :)
периодически смотрю, пока не готов функционал для меня. а про производительность и т.д. не знаю
когда функционал будет, тогда буду изучать
да и то врядь ли, в випросе есть все что требуется
...
Рейтинг: 0 / 0
106 сообщений из 106, показаны все 5 страниц
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF, DbContext, ObjectContext
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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