powered by simpleCommunicator - 2.0.33     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF Core DBFirst - как аннотировать полученные классы?
25 сообщений из 26, страница 1 из 2
EF Core DBFirst - как аннотировать полученные классы?
    #39841505
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Вопрос такой: после миграции по созданию классов по существующей базе данных получаю классы, что называется, в "чистом" виде.
Код: c#
1.
2.
3.
4.
5.
    public partial class RNagradi
    {
        public short NomerNagradi{ get; set; }
        public string NameNagradi{ get; set; }
    }


Но хотелось бы их аннотировать, чтобы дать нормальное имя, прикрутить регулярное выражение для проверки ввода и прочее...
Типа:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
    public partial class RNagradi
    {
        [Display(Name=Номер награды"]
        public short NomerNagradi{ get; set; }

        [Display(Name=Наименование награды"]
        public string NameNagradi{ get; set; }
    }



Однако, после изменения структуры базы (а они неизбежны) и проведения очередной миграции, эти внесённые изменения, скорее всего сотрутся. Как тут поступать, чтобы сохранить аннотации?
С уважением ВВГ
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39841630
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забудь про эту всю фигню
настрой миграции отдельно
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39841648
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValGerКак тут поступать, чтобы сохранить аннотации?

Никак. Сами выбрали отвратительный способ работы с данными, сами и страдайте :)
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39841785
ValGer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

Спасибо, утешили!
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39844871
MsGuns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttValGerКак тут поступать, чтобы сохранить аннотации?

Никак. Сами выбрали отвратительный способ работы с данными, сами и страдайте :)

Самый умный, да ?
А если базе 100 лет в обед, там стотыщ таблиц и столько же вьюх, из которых в моем проекте нужно максимум 5-10 ?
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39844874
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsв моем проекте нужно максимум 5-10 ?ValGerпосле изменения структуры базы (а они неизбежны) и проведения очередной миграции5-10 непрерывно меняющихся таблиц? Жесть!
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39844878
MsGuns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProMsGunsв моем проекте нужно максимум 5-10 ?ValGerпосле изменения структуры базы (а они неизбежны) и проведения очередной миграции5-10 непрерывно меняющихся таблиц? Жесть!

Вы слышали про корпоративные БД ? Это когда есть монстр типа Паруса и тебе дают маленькие права на некоторое крохотное подмножество информации для решения какой-то задачи. Даже не таблицы, а вьюхи. А если в права входят изменения в таблицах, то их можно выполнять только соотв. ХП. Какой тут CodeFirst, уважаемый ?
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39844879
MsGuns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Базами занимаюсь давно, опыт кой-какой есть. Поработав с EF, я понял так:
Model First/Code First хороши когда:
а) Проект предусматривает разработку БД "с нуля"
б) SQL-сервер не слишком хорошо известен разработчикам, а изучать его особенности нет ни времени, ни желания.
в) Бизнес-логика SQL-сервера полностью строится "под проект" и не предвидится конкуренции со стороны других разработчиков или проектов.
г) Проект предполагает в будущем масштабирование БД, в т.ч. "переезд" на другой тип SQL-сервера
д) Не будет проблем с заливкой содержимого БД как в тестовом, так и в режиме эксплуатации.

Но минусы этих подходов вытекают из их же плюсов. Например, в моем случае БД постоянно обновляется, причем очень существенно, иногда до 90%. Имеется в виду не метаданные, а содержимое таблиц.
Кроме того, проектирование БЛ SQL-сервера в специализированной среде (том же SQL Managment Studio) дает много вкусностей, таких, как скриптовая отладка, тонкое управление транзакциями, имитация многопользовательских запросов (например, для ловли "дедлоков") и много чего еще.

Лично для себя я вижу единственный существенный минус DataBase-First - это "слет" шаблонных хэлперов в моделях. Однако их польза часто невелика т.к. разметку в представлениях все равно приходится переписывать ручками.

Очень любопытно почитать комменты, а также критику опытных разрабов.
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39844908
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsВы слышали про корпоративные БД ? Это когда есть монстр типа Паруса и тебе дают маленькие права на некоторое крохотное подмножество информации для решения какой-то задачи. Даже не таблицы, а вьюхи. А если в права входят изменения в таблицах, то их можно выполнять только соотв. ХП. Какой тут CodeFirst, уважаемый ?Я что-то говорил про CodeFirst?
Я к тому, что в 5 таблиц можно и руками пару полей добавить, а не пытаться нагородить dbfirst
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39844917
MsGuns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProMsGunsВы слышали про корпоративные БД ? Это когда есть монстр типа Паруса и тебе дают маленькие права на некоторое крохотное подмножество информации для решения какой-то задачи. Даже не таблицы, а вьюхи. А если в права входят изменения в таблицах, то их можно выполнять только соотв. ХП. Какой тут CodeFirst, уважаемый ?Я что-то говорил про CodeFirst?
Я к тому, что в 5 таблиц можно и руками пару полей добавить, а не пытаться нагородить dbfirst

При условии "база под проект" согласен однозначно.
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845017
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsСамый умный, да ?
А если базе 100 лет в обед, там стотыщ таблиц и столько же вьюх, из которых в моем проекте нужно максимум 5-10 ?

как уже сказали выше, кодогенерация для 5-10 таблиц это из пушки по воробьям
кроме того, выбор EF в таких условиях -- это не от большого ума

ну и замыкая тему, если уж вам так упёрлась кодогенерация с аннотациями, забейте её в БД. почти любая БД поддерживает комментарии ко всем объектам -- таблицы, поля, хп и т.д., используйте её в кодогенерации.

правда не знаю, зачем вам это.
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845018
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsа) Проект предусматривает разработку БД "с нуля"

проблема в том, что "разработка БД" у старой школы это самоцель, а не средство. отсюда боль и слёзы

MsGunsб) SQL-сервер не слишком хорошо известен разработчикам, а изучать его особенности нет ни времени, ни желания.

это невероятное заблуждение. ORM это вовсе не про возможность работать с БД без знаний о СУБД. тем более, практика показывает, что всё как раз наоборот. требуется иметь более глубокие знания для эффективного использования ORM, кодогенерации, миграций и проч.

MsGunsв) Бизнес-логика SQL-сервера полностью строится "под проект" и не предвидится конкуренции со стороны других разработчиков или проектов.

попытка засунуть бизнес-логику в SQL уже говорит достаточно о горе разработчиках и проектировщиках


MsGunsг) Проект предполагает в будущем масштабирование БД, в т.ч. "переезд" на другой тип SQL-сервера

какой проект вообще это может предполагать? и зачем? если это не платформа для продажи под ключ с использованием хранилища на выбор заказчика.


MsGunsд) Не будет проблем с заливкой содержимого БД как в тестовом, так и в режиме эксплуатации.

не понял, о чём здесь идёт речь. что за проблемы.


MsGunsЛично для себя я вижу единственный существенный минус DataBase-First - это "слет" шаблонных хэлперов в моделях. Однако их польза часто невелика т.к. разметку в представлениях все равно приходится переписывать ручками.

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

в то время, как другие люди занимаются делом :)
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845027
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttMsGunsа) Проект предусматривает разработку БД "с нуля"

проблема в том, что "разработка БД" у старой школы это самоцель, а не средство. отсюда боль и слёзы
Да пусть пилят свой монолит типа Паруса как хотят. Все через это проходили, ну или большинство :)
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845028
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsА если базе 100 лет в обед, там стотыщ таблиц и столько же вьюх, из которых в моем проекте нужно максимум 5-10 ?
Пора бы призадуматься о распиле монолита.
Не нужно вашему проекту быть прибитому наглухо к нему
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845030
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsБизнес-логика SQL-сервера полностью строится "под проект" и не предвидится конкуренции со стороны других разработчиков или проектов.
Откройте для себя такое понятие как Bounded Context, хотя бы ради любопытства.

ИМХО в любой предметной области они выделяются и проблем с конкуренцией быть не должно.
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845065
MsGuns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt, Весьма благодарен Вам и Дмитрию за развернутые комментарии. Для этого, собственно, и заглядываю на этот ресурс. Вы оба правы. Но что делать, если всю свою трудовую деятельность я "пилил" БД по-старинке. Переучиваться уже поздно, да и незачем,- я ведь пенсионер уже :) Работаю для себя и нескольких друзей, которые по вашим меркам совсем профаны :)
Однако ваши советы и подсказки "в тему" чрезвычайно полезны, экономят массу времени и "левелапят" меня круто :)
Я иногда допускаю иронию и даже некоторый цинизм в своих постах, но прошу прощения за мое "старческое" брюзжание. Вы делаете доброе дело, даже если сечете розгами :) Наука, - она лучше всего доходит через плеть :) Но на некоторую снисходительность все же рассчитываю в дальнейшем, ведь вы - люди умные, знающие, и поэтому можете сделать скидку на "ламеров".
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845070
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsСамый умный, да ?MsGunshVostt, Весьма благодарен Вам и Дмитрию .... ведь вы - люди умные, знающие
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845075
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGuns,

переучиваться не надо, надо изучать новое
в 50 с небольшим это вполне реально (сужу по старшим коллегам)

изучая DDD, CQRS и SOLID, ты не забываешь SQL, уровни изоляции транзакций, типы блокировок, индексов
от этого никуда не деться
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845077
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsРаботаю для себя и нескольких друзей
значит ничего не мешает попробовать Node.js + MongoDB
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845116
MsGuns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дмитрий МухMsGuns,

переучиваться не надо, надо изучать новое
в 50 с небольшим это вполне реально (сужу по старшим коллегам)



"Старшие коллеги" РАБОТАЮТ, а не развлекаются, как я :) К тому же они работают в коллективе, а это уже совсем другая "аура"
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845161
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsДмитрий МухMsGuns,

переучиваться не надо, надо изучать новое
в 50 с небольшим это вполне реально (сужу по старшим коллегам)



"Старшие коллеги" РАБОТАЮТ, а не развлекаются, как я :) К тому же они работают в коллективе, а это уже совсем другая "аура"
Вообщем вы обрели свою зону комфорта.. Типично..
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845210
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsНо что делать, если всю свою трудовую деятельность я "пилил" БД по-старинке.

Я тож так пилил и много. Достаточно много, чтобы обнаружить несостоятельность такого подхода и найти другие более эффективные решения.

MsGunsПереучиваться уже поздно, да и незачем,- я ведь пенсионер уже :)

Согласен со skyANA, не нужно переучиваться, необходимо просто пополнять свой багаж знаний и опыта.
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845409
MsGuns
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttMsGunsНо что делать, если всю свою трудовую деятельность я "пилил" БД по-старинке.

Я тож так пилил и много. Достаточно много, чтобы обнаружить несостоятельность такого подхода и найти другие более эффективные решения.

MsGunsПереучиваться уже поздно, да и незачем,- я ведь пенсионер уже :)

Согласен со skyANA, не нужно переучиваться, необходимо просто пополнять свой багаж знаний и опыта.

Немного пофилософствую, если позволите :)

Любые знания должны быть востребованы. Это постулат, если хотите :)
В свое время приходилось многократно менять "лошадей". С IMB 367/370 (Asm,PL/I,Fortran IV, DOS/OS/JS SVM) на CM-4 (MASM, OSRV), потом MSDOS (tasm,clipper,fox), потом Paradox - 3.5/4.5, потом Delphi, C-builder, теперь вот по просьбе друга ASP+VS :)
Но все эти переходы диктовались необходимостью. Сначала начальниками и хозяевами фирм, где я работал, потом рынком, когда у меня была уже собственная софт-фирмочка. При этом приходилось писать и проекты, которые не заканчивались ничем. По разным причинам. К 40 годам я понял главное - в любом проекте должно быть финансирование. Только при этом условии выполняется главное требование любого проекта "деньги-результат". Сделал что-то "лишнее", считай что ты занимался благотворительностью. Чего-то не-до-делал, не-до-понял, не-до-реализовал - исправляй за свой счет, хоть по выходным и ночами (боже, сколько же ночей я провел за компом - бедная моя семья :).
Сейчас ситуация такова - финансирования нет. Совсем. Никакого. Просто надо помочь близким мне людям, бывшим моим однокурсниками и ученикам. Так сложилось, что все передовые технологии живут где-то в столицах, у нас же в провинции даже знающих толком Visual Basic еще поискать надо. А если и находятся знающие, то они, как правило, все очень гордые :) Да и бегать искать у меня нет ни возможности, ни желания. Вот и приходится чтобы учить - учиться самому. Переходить на что-то совсем новое нету желания, если честно. Зачем ?
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845542
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsЗачем ?
Помогать не только близким людям но и всему миру :) Выйти на следующий уровень своего развития.

https://www.freecodecamp.org/
https://en.wikipedia.org/wiki/FreeCodeCamp
...
Рейтинг: 0 / 0
EF Core DBFirst - как аннотировать полученные классы?
    #39845611
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsGunsСделал что-то "лишнее", считай что ты занимался благотворительностью.

Смотря считать "лишним". В каком из миров все 100% вклада дают 100% результата?
Препарирование лягушек, ни приносящее ни пользы, ни денег тоже благотворительность? :)

Опыт не всегда можно получить только за оплачиваемое время.


MsGunsВот и приходится чтобы учить - учиться самому. Переходить на что-то совсем новое нету желания, если честно. Зачем ?

Идеально, когда вы не только понимаете "зачем", но вам это ещё и нравится.
Хобби, являющееся работой -- лучшее, что может случиться в трудовой деятельности человека.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF Core DBFirst - как аннотировать полученные классы?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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