Подтвердить что ты не робот

Как правильно удалить и повторно добавить модель данных сущности

новичок в Entity Framework. Использование экспресс-базы данных VS 2010 и SQL Server 2008.

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

Я перейду в раздел "Выберите подключение к данным" в Мастере данных модели сущностей и "Сохранить настройки соединения сущности в Web.config как:". Однако у моего существующего имени есть 1 добавленный к нему. Например MyDatabaseEntities теперь MyDatabaseEntities1. Конечно, я не хочу добавить "1". Я убил существующую строку подключения в Web.config и удалил все ссылки на это имя в моем решении. Однако, когда я пытаюсь продолжить, я получаю следующую ошибку:

"MyDatabaseEntites" конфликтует с существующим именем свойства в настройках приложения. Выберите другое имя

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

Любые идеи приветствуются. Также кажется, что он все еще довольно глючит даже в VS2010/.NET 4. Помогите восстановить мою веру... Я чувствую, что отказываюсь от Entity Framework на этом этапе. Основываясь на моем опыте до сих пор и некоторых других проблемах, размещенных здесь, я чувствую, что я собираюсь потратить больше времени на преследование Entity Framework, чем писать полезный код.

ОБНОВЛЕНИЕ: Я нашел разрешение. Дизайнер не отображает ошибки. Вам нужно посмотреть в собственном XML (файл edmx), чтобы увидеть ошибки. См. Здесь: ADO.NET Entity Framework: мастер обновления не будет добавлять таблицы

4b9b3361

Ответ 1

Ошибка вызвана оставшимися строками подключения в настройках в файле "App.Config" (см. "Исследователь решений" ) и в этом разделе: "connectionStrings" (окруженный угловыми скобками)

Просто удалите его оттуда.

Ответ 2

  • Перезапустите IIS, если вы разрабатываете веб-приложение.
  • Перезапустить Visual Studio после удаления соединения EntityDataModel Строковая строка из web.config или app.config
  • Добавить новый объект Data Model и переименовать его как старое имя,

Ответ 3

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

Я вообще разбиваю свою работу EF на отдельную библиотеку. Если я работаю над Cyberdyne.Terminator, я создаю библиотеку классов EF под названием Cyberdyne.Terminator.Data. Таким образом, если вы хотите сдуть модель и начать все, все будет отделено от ваших зависимых файлов и, в частности, вашего web.config.

Ничего из этого, вероятно, не исправить недостающие таблицы. Единственное, что я видел, когда это происходит, - это добавить таблицу, а затем удалить ее. Он больше не появится в диалоговом окне "Добавить таблицы" (и вы должны переименовать его, чтобы показать его). Но я думал, что это исправлено в EF 4.0. Не знаю. Если проблема не устранена, вы можете попробовать переименовать таблицу, повторно добавить ее, а затем переименовать ее, если она появится.

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

Ответ 4

Дважды проверьте строки подключения и продолжайте прокручивать вправо. Чаще всего, когда это происходит со мной, Visual Studio добавляет строку подключения за другим. Я делал это пару раз и задавался вопросом, где моя конфигурация приложения (нет, нет конфигурации приложения, просто веб-конфиг в mvc), поэтому диалог немного запутан. Разумеется, скорее всего, строка подключения скрывается за другим!

Ответ 5

Просто нажмите

Ctrl + F

а в раскрывающемся списке выберите "EntireSolution/CurrentProject", затем нажмите "Enter". где когда-либо это имя сгенерировало это, вы покажете.  Я попал в файл web.config. так что удалите, что сгенерировала полную линию связи оттуда. и снова добавьте его снова. Тогда надеюсь, что вы не сможете получить это сообщение снова. Спасибо..

Ответ 6

Мне так жаль моего английского   но решение просто.   вам нужно удалить ado.net   затем перейдите в app.conf и удалите строку соединения < > ,   DEBUG ваш проект и, наконец, добавить новую базу данных через ado.net

TO ADD ADO.NET
RIGHT CLICK ON YOUR PROJECT NAME, THEN, ADD NEW ITEM, DATA AND SEARCH ADO.NET...

I hope help you, have good day!
angelsantacruzm