Леса Model First не работают в приложении ASP.NET MVC3 - PullRequest
2 голосов
/ 24 октября 2011

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

База данных в бэкэнде - SQL Azure, хотя я не уверен, имеет ли это значение.

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

Я построил решение, чтобы новая модель была доступна.

Я убедился, что у меня последняя версия Entity Framework, и загрузил MvcScaffolding из NuGet.

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

Тип 'Website.Models.App.Application' не был сопоставлен. Убедитесь, что тип не был явно исключен с помощью метода Ignore или аннотации данных NotMappedAttribute. Убедитесь, что тип был определен как класс, не является примитивным, вложенным или универсальным и не наследуется от EntityObject.

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

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

Ответы [ 3 ]

1 голос
/ 22 января 2012

Установите Net DbContext Generator, если он недоступен в онлайн-шаблонах в Visual Studio 2010

0 голосов
/ 19 января 2013

Вы, вероятно, вложили свои классы в основной класс:

static void Class main(string[] args)
{
    public Class YourClass()  // This is the wrong location, it's nested in the main class
    {
       ...
    }
}

public Class YourClass()  // This is the correct location
{
    ...
}
0 голосов
/ 11 ноября 2011

в конструкторе сущностей (файл .edmx), щелкните правой кнопкой мыши пустую область, нажмите «Добавить элемент генерации кода», выберите «ADO.NET DbContext Generator», дайте ему имя, нажмите «Добавить». >> Не могу вспомнить, почему вы должны это сделать :-( но это исправило ту же проблему для меня.

...