2015-04-21 10 views
0

У меня есть существующий ASP NET MVC 5, который использует базу данных AppUsers для аутентификации пользователей. Он работает уже более года.Недопустимое имя столбца «Дискриминатор»

Сегодня я создал новую демонстрационную программу ASP MVC 5 и установил тег [Authorize] на конкретную роль [AspNetRoles]. У меня также есть «AppUsers» connectionString, созданный в новом приложении web.config. Это идентичное соединение как первое существующее приложение

При попытке входа в систему с использованием нового приложения, я получаю приведенную ниже ошибку. Я предположил, что я могу использовать базу данных «AppUsers» для аутентификации пользователей с использованием разных приложений. Любое предложение о том, как разрешить это, будет с благодарностью оценено. Я искал в Интернете, но эта ошибка, похоже, имеет много разных причин, но я не видел, как мне кажется, объясняет мою проблему.

Спасибо Майк

Invalid столбец имя 'Дискриминатор'. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения более информации об ошибке и ее месте в коде.

Exception Details: System.Data.SqlClient.SqlException: Invalid column name 'Discriminator'. 

Source Error: 


Line 46:    if (ModelState.IsValid) 
Line 47:    { 
Line 48:     var user = await UserManager.FindAsync(model.UserName, model.Password); 
Line 49:     if (user != null) 
Line 50:     { 


Source File: c:\Users\204026705\Documents\MyApps\!!!!VSnet\TestPublishToNewServer\TestPublishToNewServer\Controllers\AccountController.cs 

Line: 48

Stack Trace: 


[SqlException (0x80131904): Invalid column name 'Discriminator'.] 
    System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 

+1767866 System.Data.SqlClient.SqlInternalConnection.OnError (SqlException исключение, Boolean breakConnection, действие 1 wrapCloseInAction) +5352418 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +244 System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +1691 System.Data.SqlClient.SqlDataReader.TryConsumeMetaData() +61 System.Data.SqlClient.SqlDataReader.get_MetaData() +90 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +365 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) +1406 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource 1 завершение, Int32 тайм-аут, Task & задача, Boolean asyncWrite) +177 System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String метод) +53 System.Data.SqlClient.SqlCommand.ExecuteReader (поведение CommandBehavior, метод String) +134 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader (CommandBehavior поведение): +41 System.Data.Common.DbCommand. ExecuteReader (поведение CommandBehavior) +10 System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.b__c (DbCommand т, DbCommandInterceptionContext 1 c) +66 System.Data.Entity.Infrastructure.Interception.InternalDispatcher 1.Dispatch (TTarget мишени, Func 3 operation, TInterceptionContext interceptionContext, Action 3 Исполнительные, Action`3 выполняется) +138 система .Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader (DbCommand команда, DbCommandInterceptionContext interceptionContext) +475 System.Data.Entity. Internal.InterceptableDbCommand.ExecuteDbDataReader (CommandBehavior поведение) +239 System.Data.Common.DbCommand.ExecuteReader (поведение CommandBehavior) +10 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands (EntityCommand entityCommand, CommandBehavior поведение) +97

[EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for 

детали.] System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands (EntityCommand entityCommand, поведение CommandBehavior) +181 System.Data.Entity.Core.Objects .Internal.ObjectQueryExecutionPlan.Execute (ObjectCont ext context, ObjectParameterCollection parameterValues) +1282 System.Data.Entity.Core.Objects.<> c__DisplayClass7.b__6() +184 System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction (Func операции) +251 System.Data.Entity.Core.Objects.ObjectQuery forMergeOption) +645 System.Data.Entity.Core.Objects.ObjectQuery 1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0() +68 System.Data.Entity.Internal.LazyEnumerator 1.MoveNext() +68 System.Linq.Enumerable.FirstOrDefault (IEnumerable последовательность) +83 System.Data.Entity.Core.Objects. ELinq.ObjectQueryProvider.ExecuteSingle (IEnumerable 1 query, Expression queryRoot) +107 System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute(Expression expression) +197 System.Data.Entity.Internal.Linq.DbQueryProvider.Execute(Expression expression) +155 System.Linq.Queryable.FirstOrDefault(IQueryable 1 источник) +251 Microsoft.AspNet.Identity.EntityFramework.UserStore 1.FindByNameAsync(String userName) +1175 Microsoft.AspNet.Identity.<FindByNameAsync>d__d.MoveNext() +231 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52 System.Runtime.CompilerServices.TaskAwaiter 1.GetRes ии() +24 Microsoft.AspNet.Identity.d__15.MoveNext() +540 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (Целевая задача ) +93 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (Целевая задача ): +52 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult() +24 TestPublishToNewServer.Controllers.<Login>d__2.MoveNext() in c:\Users\204026705\Documents\MyApps\!!!!VSnet\TestPublishToNewServer\TestPublishToNewServer\Controllers\AccountController.cs:48 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52 System.Runtime.CompilerServices.TaskAwaiter.GetResult() +21 lambda_method(Closure , Task) +64 System.Threading.Tasks.TaskHelpersExtensions.ThrowIfFaulted(Task task) +64 System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +114 System.Web.Mvc.Async.<>c__DisplayClass34.<BeginInvokeAsynchronousActionMethod>b__33(IAsyncResult asyncResult) +65 System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate (IAsyncResult AsyncResult) +47 System.Web.Mvc.Async.WrappedAsyncResultBase 1.End() +136 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +49 System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3c() +117 System.Web.Mvc.Async.<>c__DisplayClass45.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3e() +323 System.Web.Mvc.Async.<>c__DisplayClass30.<BeginInvokeActionMethodWithFilters>b__2f(IAsyncResult asyncResult) +44 System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate (IAsyncResult AsyncResult) +47 System.Web.Mvc. Async.WrappedAsyncResultBase 1.End() +136 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +102 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +50 System.Web.Mvc.Async.<>c__DisplayClass28.<BeginInvokeAction>b__19() +72 System.Web.Mvc.Async.<>c__DisplayClass1e.<BeginInvokeAction>b__1b(IAsyncResult asyncResult) +185 System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate (IAsyncResult asyncResult) +42 Sy stem.Web.Mvc.Async.WrappedAsyncResultBase 1.End() +133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +40 System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +34 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult AsyncResult) +70 System.Web.Mvc.Async.WrappedAsyncResultBase 1.End() +139 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +39 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult AsyncResult): +62 System.Web.Mvc.Async. WrappedAsyncResultBase 1.End() +139 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39 System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__4(IAsyncResult asyncResult, ProcessRequestState innerState) +39 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult AsyncResult) +70 System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +139 System.Web.Mvc.Async.AsyncResultWrapper.End (IAsyncResult AsyncResult, метка объекта) + 59 System.Web.Mvc.Async.AsyncResultWrapper.End (IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.MvcHandler.EndProcessRequest (IAsyncResult asyncResult) +40 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest (IAsyncResult результат) +38 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9514928 System.Web.HttpApplication. ExecuteStep (IExecutionStep шаг, Boolean & completedSynchronously) +155

+1

посмотреть на это: http://stackoverflow.com/a/24816251/1837329 –

+0

Привет Alundra ... Вы предложение дал мне подсказку, чтобы следовать ... спасибо. Что я сделал после того, как прочитал заметку, я сделал полное обновление всех пакетов nuget (Update All). Это сделало трюк для меня, поскольку я уже сделал миграцию ~ несколько месяцев назад, когда я обновил EF. – jscriptor

+1

Отлично. В то время это сводило меня с ума. Не забудьте проголосовать за ответ. –

ответ

0

решение было сделать FuL обновление всех пакетов NuGet. В моем случае я создал новый проект, обновил EF из nuget, реализовал связывание строковых изменений, чтобы настроить авторизацию с помощью базы данных «AppUsers» для аутентификации пользователей.

Это привело меня в предметную ошибку.

Алундра предложил провести миграцию. Однако в прошлом я уже делал миграцию. Следующим логическим шагом было обновление пакетов nuget. Это решило проблему. Я подозреваю, что виновник обновлял EF только в начале.

Спасибо Майк

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