ASP.net MVC 3 EntityType 'PaMap' не определен ключ - PullRequest
0 голосов
/ 26 марта 2012

Я новичок в MVC 3, и все, что я пытаюсь сделать, - это создать интерфейс CRUD с существующей БД. Я продолжаю получать сообщение об ошибке

One or more validation errors were detected during model generation:

\tSystem.Data.Entity.Edm.EdmEntityType: : EntityType 'PaMap' has no key defined. Define the key for this EntityType.
\tSystem.Data.Entity.Edm.EdmEntitySet: EntityType: EntitySet 'PaMaps' is based on    type 'PaMap' that has no keys defined.

База данных, с которой я работаю, имеет три поля. PA_ID - первичный ключ, который я определил в MS SQL SERVER и обновлял несколько раз, чтобы убедиться, что он действительно определен. Я также добавил часть _ID после прочтения о том, что иногда MVC недоволен, если в имени вашего первичного ключа не указан идентификатор. После этого я сохранил и обновился, но все равно не повезло. Категория и имя - это два других столбца в таблице. Я использую метод code-first, поэтому я создал свои методы получения и установки в классе PaMap. Я также попытался установить первичный ключ в классе PaMap, используя метод [key]. Все, что я получаю, это еще одна ошибка

"Неверное имя объекта 'dbo.PaMaps'".

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

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

Может ли кто-нибудь помочь мне показать вам код, если он поможет быстрее диагностировать проблему? Я почти везде искал в Интернете ответ на этот вопрос, но не повезло. Спасибо за вашу помощь!

1 Ответ

1 голос
/ 27 марта 2012

Лучшие примеры, которые я нашел для настройки кода MVC3 Сначала с SQL Server Compact Edition, - это пошаговое руководство 2 здесь:

http://weblogs.asp.net/scottgu/archive/2011/01/11/vs-2010-sp1-and-sql-ce.aspx

и для настройки миграции данных, этот пост здесь:

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

Они были написаны для разных версий продукта. В Walkthrough 2 Скотта Гу (верхняя ссылка выше) пропустите Шаг 2, поскольку теперь он является частью EntityFramework, на которую ссылаются во всех проектах MVC 3. При переходе к шагу 7 в зависимости от версии SQL Server Compact Edition у вас может не быть таблицы метаданных Edm. Не просто удаляйте таблицы миграции, если они есть в вашей версии. Вам это понадобится. Вот тут и начинается миграция (вторая ссылка выше).

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

...