kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 Biri
Biri
Вопрос

Обновление схемы базы данных в Entity Framework

Я установил VS SP1 и поиграл с Entity Framework.

Я создал схему из существующей базы данных и попробовал несколько основных операций.

Большинство из них прошло успешно, за исключением обновления схемы базы данных.

Я изменил базу данных всеми основными способами:

  • добавил новую таблицу
  • удалил таблицу
  • добавил новый столбец в существующую таблицу
  • удалил столбец из существующей таблицы
  • изменил тип существующего столбца

Первые три действия прошли успешно, но изменение типа и удаление столбца не сопровождались изменениями в базе данных.

Есть ли способ сделать так, чтобы это работало из дизайнера? Или это не поддерживается в настоящее время? Я пока не нашел никаких соответствующих материалов, но все еще ищу.

8 2008-08-15T11:15:05+00:00 7
 Chris
Chris
Редактировал вопрос 25-го августа 2008 в 5:05
Программирование
.net
schema
entity-framework
Решение / Ответ
Darren Kopp
Darren Kopp
15-го августа 2008 в 4:18
2008-08-15T16:18:22+00:00
Дополнительно
Источник
Редактировать
#8415783

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

Вот моя логика:

Во-первых, EF должен быть более чем 1:1 отображением таблиц, поэтому вполне возможно, что если вы удаляете столбец из таблицы A, это не значит, что для этой сущности не должно быть свойства Description. Вы можете просто перенести это свойство в другую таблицу.

Во-вторых, изменение типа может просто сломать сборки. Это единственная причина.

6
0
 scotta
scotta
24-го сентября 2008 в 6:34
2008-09-24T18:34:18+00:00
Дополнительно
Источник
Редактировать
#8415786

I' ve нашел, что в целом есть все еще довольно много ошибок с ' Модель Обновления от Database' функциональность.

Ключи - убийца для меня - I' ve все же, чтобы иметь любую модификацию, которую я делаю к отношениям внешнего ключа или добавить Первичный ключ к столу и иметь работу updater правильно (в котором это даст собирать ошибку на произведенном кодексе) - но решить проблему it' s простой вопрос удаления модели и переимпортирования (только занимает минуту) - это - меньше, чем идеал, очевидно, но I' у ve никогда не было неудачи от ' fresh' импорт.

5
0
Chris Patterson
Chris Patterson
19-го августа 2008 в 3:55
2008-08-19T03:55:57+00:00
Дополнительно
Источник
Редактировать
#8415784

Судя по демо-версиям дизайнера, которые я видел, это не безупречный инструмент. Это продукт версии 1.0, поэтому у него должны быть болевые точки. Тип изменения - одна из них, похоже. Наблюдая за дизайнером и генерацией кода, я понял, что один из них сломается либо во время компиляции (маловероятно), либо во время выполнения (когда модель действительно выполняется).

1
0
 vintana
vintana
17-го сентября 2008 в 7:40
2008-09-17T07:40:16+00:00
Дополнительно
Источник
Редактировать
#8415785

Вам необходимо самостоятельно удалить колонку из дизайнера или XML-файла.

0
0
Анонимный пользователь
3-го августа 2009 в 11:41
2009-08-03T23:41:53+00:00
Дополнительно
Источник
Редактировать
#8415787

Как упомянуто прежде, Вы можете просто удалить колонку от проектировщика. До изменения типа данных колонки: просто обновите модель от базы данных, тогда идут в отображения стола и выбирают колонку, которую Вы изменили в DB. ценности справа представляют Вашу модель, достаточно странно это не становится обновленным автоматически, но просто выбирает колонку направо и идет в свойства и изменяет тип данных там. Это должно стать выпадающим меню.

Аплодисменты.

Румяный

0
0
 fyasar
fyasar
9-го октября 2009 в 9:00
2009-10-09T21:00:40+00:00
Дополнительно
Источник
Редактировать
#8415788

Я создаю подобное приложение как Ваш требуемый. Но мое решение было к трудно. Я попытаюсь сказать;

  1. Вы должны создать свои собственные классы управления базой данных, и эти объекты будут ответственны за, создают, обновляют схему базы данных (я создал вручную это).

  2. Я видел хорошую статью и исходный код на блог Команды ADO.NET тогда, Вы можете также загрузить EDMTools с этого блога, это открытый источник. И Вы можете также осуществить образцовое поколение и обновить установленный порядок от этого в Ваш проект.

  3. Наконец, когда Ваша схема изменилась, Вы должны воссоздать и связать свою модель и восстановить свое собрание данных во время времени выполнения. Но Вы должны знать самый важный, думают, Вы должны связать свое собрание модели данных с Вашим проектом со свободно двойным (проверьте этот почта),

Другим путем Вы должны ждать выпуска EF 4.0 (это CTP 1 теперь), они объявили, что обеспечат, создают, удаляют, обновляют функции DatabaseScript.

Хороший замок

0
0
Konrad Brodzik
Konrad Brodzik
13-го февраля 2013 в 2:03
2013-02-13T14:03:25+00:00
Дополнительно
Источник
Редактировать
#8415789

Путем I' m выполнение этого (и I' m выполнение всех вещей Вы упоминаете, плюс переименование колонок), внося изменения в базу данных и восстанавливая кодекс EF, используя Кодекс EF Сначала.

I' m не вмешивающийся в Кодовые Первые классы EF для пользы или плохого (включая бессмысленно названные колонки для отношений), чтобы ослабить процесс.

Никакой проектировщик или генератор схемы ORM не будут в состоянии внести изменения в Вашу производственную базу данных, если это ограничило данные в нем. Поэтому Вы должны всегда начинать с проверки, если Ваши изменения DB выполнимы, судите их на базе данных развития и затем адаптируйте свой кодекс, чтобы отразить изменения.

0
0
Похожие сообщества 12
DotNetRuChat
DotNetRuChat
6 630 пользователей
Чат русскоязычного .NET сообщества http://dotnet.ru/ Правила: https://t.me/DotNetRuChat/704399 Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @AvaloniaRU, @xamarin_russia, @DotNetRuJobs, @uwp_ru Флуд в @dotnettalks
Открыть telegram
Вакансии .NET
Вакансии .NET
3 530 пользователей
Правила: https://t.me/DotNetRuJobs/123 Канал с вакансиями - https://t.me/DotNetRuJobsFeed Вам могут быть интересны: @dotnetruchat, @cilchat, @fsharp_chat, @pro_net, @AvaloniaRU, @xamarin_russia Флуд в @dotnettalks
Открыть telegram
pro.net
pro.net
1 820 пользователей
Обсуждение .NET и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). https://t.me/pro_net/34653 Флудилка: @dotnettalks
Открыть telegram
var chat = new Chat();
var chat = new Chat();
1 428 пользователей
Обсуждение вопросов по .NET Правила чата – https://blog.devdigest.today/chat-rules Чат для флуда – https://t.me/+zwxI91RGG6s2YzAy
Открыть telegram
.NET Talks - День сурка
.NET Talks - День сурка
1 324 пользователей
Свободный чат .NET разработчиков. Правила: https://t.me/dotnettalks/548269 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @DotNetRuJobs, @uwp_ru, @AvaloniaRu, @dotnettalksenglish
Открыть telegram
Чат конференции DotNext
Чат конференции DotNext
987 пользователей
Канал конференции: @dotnext_channel Ближайшая конференция — DotNext 2022 Autumn, даты будут анонсированы позднее Билеты https://tinyurl.com/DotNext2023Autumn Саппорт: @JUGConfSupport_bot
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Денис Васьков
Зарегистрирован 16 часов назад
2
Dima Patrushev
Зарегистрирован 2 дня назад
3
sirojidddin otaboyev
Зарегистрирован 1 неделю назад
4
Елена Гайдамамакинат
Зарегистрирован 1 неделю назад
5
Иван Степанюк
Зарегистрирован 1 неделю назад
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией