2014-09-25 3 views
0

Использование ASP.NET MVC, Entity Framework 6 Код Сначала на SQL Express все работает отлично на моей локальной машине. Когда я публикую в Windows Azure, вещи начинают разваливаться. Страница MVC по умолчанию отображается просто отлично. И я думаю, что данные верны, потому что я могу сравнить базу данных Azure с моим локальным SQL Express, и все идентично, за исключением нескольких записей в __MigrationHistory. Это новое приложение, поэтому я не думаю, что другие проблемы SO, касающиеся преобразования из предыдущих версий EF, применяются.Недопустимое имя столбца «CreatedOn» с использованием EntityFramework в Windows Azure

Когда я пытаюсь получить доступ к странице, которая запрашивает базу данных, я получаю следующее исключение, когда присоединяю отладчик Visual Studio к веб-сайту Azure. Он не работает при первом вызове dbContext.SingleOrDefault. Обратите внимание, что я могу видеть полные данные dbContext в отладчике, когда он приостанавливается.

System.Data.SqlClient.SqlException occurred 
    _HResult=-2146232060 
    _message=Invalid column name 'CreatedOn'. 
    HResult=-2146232060 
    IsTransient=false 
    Message=Invalid column name 'CreatedOn'. 
    Source=.Net SqlClient Data Provider 
    ErrorCode=-2146232060 
    _doNotReconnect=false 
    Class=16 
    LineNumber=2 
    Number=207 
    Procedure="" 
    Server=tcp:*.database.windows.net,1433 
    State=1 
    StackTrace: 
     at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 
    InnerException: 

Любая помощь будет очень признательна.

+1

Пожалуйста, разместите код, который генерирует это исключение вместе с вашей моделью. –

+1

Да, вставьте фрагмент кода, модель и проверьте схему Azure SQL DB. Я считаю, что вы впервые опубликовали свое решение, которое создало D, а затем вы добавили этот столбец, но не выполняли миграции в Azure SQL DB! И еще кое-что - вы можете запускать и отлаживать локально с помощью строки Azure Connection. Нет необходимости публиковать на веб-сайте, чтобы увидеть результат SQL Azure ... – astaykov

+0

Я предполагаю, что что-то не так с моими миграциями, но у меня никогда не было столбца с именем CreatedOn. Использование строки Azure Connection помогло решить эту проблему. –

ответ

0

Кажется, что это связано с миграцией и удалением столбца CreatedOn.

Я получаю это исключение с помощью MiniProfiler. Я удалил файлы pdb из папки bin (как это было предложено в сообщении на веб-сайте MiniProfiler github), и это больше не происходит.

Возможно, вы захотите проверить ссылки на EF, поскольку это может быть ссылка в пакете [nuget], построенном против более ранней версии EF.

Смежные вопросы