Clifford Nelson Ответов: 2

Ошибка 3027 в entity framework


Я только начинаю работать с Entity Framework и получаю следующую ошибку в своем коде и хотел бы знать, как действовать дальше:

Error   29  Error 3027: No mapping specified for the following EntitySet/AssociationSet - COUNTRies, PRHs.  C:\svn_workspace\FoxTool\Source\Fox.DataAccessService\FoxEFModel.edmx   457 9   Fox.DataAccessService


Сейчас у меня нет никаких отношений (по крайней мере, я их не вижу).

2 Ответов

Рейтинг:
13

Wael Al Wirr

Иногда, если вы вносите какие-либо изменения в файл EDMx или меняете столбец базы данных и выполняете обновление, сопоставление xml-представления для файла EDMx становится поврежденным, и вы получаете эту ошибку. просто нажмите control + A удалить все объекты в файле EDMx и снова добавьте базу данных, или вы можете открыть файл EDmx в представлении XML и попытаться найти несопоставленную ассоциацию и удалить ее


Clifford Nelson

Ты ударил его по носу. Голосуйте, спасибо

nbethi

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

Вот обходной путь для преодоления этой проблемы вы можете открыть EDMX в режиме XML (щелкните правой кнопкой мыши на edmx и выберите Открыть с помощью XML), а затем вы можете вручную добавить новое поле, которое вы хотели.

Member 10442081

Спасибо, что сработало. :)

Рейтинг:
0

marcosantana

Перейдите в Обозреватель решений, нажмите кнопку Поиск, оставьте отмеченными как "поиск внутри содержимого файла", так и "поиск внешних файлов", введите имя сущностей, которые ваше сопоставление не распознает. Удалите все файлы, связанные с этой проблемой. Они, вероятно, будут названы в честь той же пропавшей сущности. Не удаляйте ни один файл с именем вашего контекстного класса в файле, особенно если их расширениями являются .cs или .tt. В файле Context .cs удалите все строки кодов, ссылающихся на отсутствующую сущность. Они будут выглядеть так:

public virtual DbSet< COUNTRies> COUNTRies { get; set; }



Эта ошибка характерна для таблиц, удаленных из базы данных. Вы отбрасываете таблицу в базу данных или просто меняете свои web.config.connectionStrings для сопоставленной базы данных EF, указывая на новую, а не ту, которую вы использовали для генерации исходных сопоставлений, и в этой новой БД эти сущности с ошибкой 3027 отсутствуют.


Richard MacCutchan

Этому вопросу уже более 3 лет.