簡體   English   中英

使用LocalDb使用Asp.Net Identity可以正常工作,但是當我更改為SQL Server 2005數據庫時,出現錯誤

[英]Using Asp.Net Identity using a LocalDb works OK, but when I change to my SQL Server 2005 Database, it gives an error

我已經搞了幾個星期了,我終於決定在這里問這個問題。 我在Stackoverflow上發現了類似的問題,但是沒有什么與我的問題相同,而且顯然,沒有什么東西足以幫助解決我的問題。

我使用Visual Studio 2015 CTP創建了一個新的MVC Web項目,並使用該模板創建了單個用戶帳戶。 在構建項目時,我可以調試應用程序,通過注冊過程創建一個新用戶,然后以該用戶身份登錄。 到目前為止還可以!

因此,我轉到了服務器資源管理器,並查看了數據庫。 我在SQL Server 2005上復制了數據庫,表和列。我在Web.config文件中更改了連接字符串,以使用SQL Server數據庫而不是本地數據庫。

我可以使用服務器資源管理器連接到數據庫,因此連接字符串可以正常工作,並且所有名稱都與本地數據庫完全相同。

因此,我現在調試該應用程序,然后嘗試注冊用戶,或者使用復制過來的現有用戶登錄,然后出現此錯誤:


“ /”應用程序中的服務器錯誤。

無效的列名“ UserId”。 無效的列名“ UserId”。

說明:執行當前Web請求期間發生未處理的異常。 請查看堆棧跟蹤,以獲取有關錯誤及其在代碼中起源的更多信息。

異常詳細信息:System.Data.SqlClient.SqlException:無效的列名'UserId'。 無效的列名“ UserId”。

源錯誤:

第76行://不將登錄失敗計入帳戶鎖定行77://若要使密碼失敗觸發帳戶鎖定,請更改為ShouldLockout:true第78行:var result = await SignInManager.PasswordSignInAsync(model.Email,model .Password,model.RememberMe,shouldLockout:false); 第79行:切換(結果)第80行:{


AspNetUsers中的ID是“ ID”列而不是UserId。 在本地和SQL Server 2005數據庫中都是相同的,並且在使用本地數據庫登錄時,它可以正常工作。 我可以重新標記連接字符串,然后返回本地數據庫,一切都很好。 我認為這與SQL Server連接字符串無關,因為我可以使用Server Explorer在Visual Studio中查看數據,所以我實在無所適從。

我正在使用Identity 2.1,並將其粘貼在下面的堆棧跟蹤中。 任何幫助,將不勝感激!

堆棧跟蹤:

[SqlException(0x80131904):無效的列名'UserId'。 無效的列名'UserId'。] System.Data.SqlClient.SqlCommand.b__24(任務1 result) +2452144 System.Threading.Tasks.ContinuationResultTaskFromResultTask 2.InnerInvoke()+77 System.Threading.Tasks.Task.Execute()+ 60 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)+11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)+53 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult() +28 System.Data.Entity.Utilities.CultureAwaiter 1.GetResult() 1.GetResult() +28 System.Data.Entity.Utilities.CultureAwaiter 123 System.Data.Entity.Core.EntityClient.Internal.d__c.MoveNext()+447

[EntityCommandExecutionException:執行命令定義時發生錯誤。 有關詳細信息,請參見內部異常。] System.Data.Entity.Core.EntityClient.Internal.d__c.MoveNext()+549 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)+11846300 System.Runtime.CompilerServices.TaskAwaiter。 HandleNonSuccessAndDebuggerNotification(任務任務)+53 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult() +28 System.Data.Entity.Utilities.CultureAwaiter 1.GetResult() 1.GetResult() +28 System.Data.Entity.Utilities.CultureAwaiter 123 System.Data.Entity.Core.Objects.Internal.d__0 1.MoveNext() +2429 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +53 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()+ 28 System.Data.Entity.Utilities.CultureAwaiter 1.GetResult() +123 System.Data.Entity.Core.Objects.<ExecuteInTransactionAsync>d__3d 123 1.GetResult() +123 System.Data.Entity.Core.Objects.<ExecuteInTransactionAsync>d__3d 1.MoveNext()+1543 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)+11846300 System.Runtime.CompilerServices.TaskAwaiter.Ha ndleNonSuccessAndDebuggerNotification(任務任務)+53 System.Runtime.CompilerServices.ConfiguredTaskAwaiter.GetResult()+28 System.Data.Entity.SqlServer.d__9 1.MoveNext() +626 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +53 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()+28 System.Data.Entity.Utilities.CultureAwaiter 1.GetResult() +123 System.Data.Entity.Core.Objects.<GetResultsAsync>d__e.MoveNext() +1088 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +53 System.Runtime.CompilerServices.TaskAwaiter + 1.GetResult() +123 System.Data.Entity.Core.Objects.<GetResultsAsync>d__e.MoveNext() +1088 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +53 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()+28 System.Data.Entity.Utilities.CultureAwaiter 1.GetResult()+ 1.GetResult() +123 System.Data.Entity.Internal.<FirstMoveNextAsync>d__0.MoveNext() +590 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +53 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult() +123 System.Data.Entity.Internal.<FirstMoveNextAsync>d__0.MoveNext() +590 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +53 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()+28 System.Data.Entity.Utilities.CultureAwaiter 1.GetResult() +66 System.Data.Entity.Infrastructure.<FirstOrDefaultAsync>d__25 1.MoveNext()+463 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)+11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)+53系統。 Runtime.CompilerServices.TaskAwaiter 1.GetResult() +28 Microsoft.AspNet.Identity.CultureAwaiter 123 Microsoft.AspNet.Identity.Owin.d__29.MoveNext()+683 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (任務任務)+11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)+53 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult() +24 CodeFirstExistingDatabase.Controllers.<Login>d__11.MoveNext() in c:\\users\\kevin\\documents\\visual studio 2015\\Projects\\CodeFirstExistingDatabase\\CodeFirstExistingDatabase\\Controllers\\AccountController.cs:78 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +53 System.Runtime.CompilerServices.TaskAwaiter.GetResult() +26 System.Threading.Tasks.TaskHelpersExtensions.ThrowIfFaulted(Task task) +61 System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +114 System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeAsynchronousActionMethod>b__36(IAsyncResult asyncResult) +66 System.Web.Mvc.Async.WrappedAsyncResult 1.GetResult() +24 CodeFirstExistingDatabase.Controllers.<Login>d__11.MoveNext() in c:\\users\\kevin\\documents\\visual studio 2015\\Projects\\CodeFirstExistingDatabase\\CodeFirstExistingDatabase\\Controllers\\AccountController.cs:78 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +11846300 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +53 System.Runtime.CompilerServices.TaskAwaiter.GetResult() +26 System.Threading.Tasks.TaskHelpersExtensions.ThrowIfFaulted(Task task) +61 System.Web.Mvc.Async.TaskAsyncActionDescriptor.EndExecute(IAsyncResult asyncResult) +114 System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeAsynchronousActionMethod>b__36(IAsyncResult asyncResult) +66 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__3d() +117 System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +323 System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +44 System.Web.Mvc.Async.WrappedAsyncResult 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__3d() +117 System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +323 System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(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__DisplayClass2b.<BeginInvokeAction>b__1c() +72 System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +185 System.Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult)+42 System.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.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() +133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +37 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.End() +133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +37 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() +133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +37 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__5(IAsyncResult asyncResult, ProcessRequestState innerState) +39 System.Web.Mvc.Async.WrappedAsyncVoid 1.End() +133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +37 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__5(IAsyncResult asyncResult, ProcessRequestState innerState) +39 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult)+70 System.Web.Mvc.Async.WrappedAsyncResultBase `1.End()+133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,Object標簽)+56 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult,Object標簽)+37系統。 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( )+9720041 System.Web.HttpApplication.ExecuteStep(IExecutionStep步驟,布爾值和comp 同步)+155

在嘗試了很長時間並且失敗之后,我發布了這個問題后不久,我就知道了。

在SQL Server數據庫上,我在AspNetUsers表上運行了此命令:

CREATE UNIQUE NONCLUSTERED INDEX [UserNameIndex]
ON [dbo].[AspNetUsers]([UserName] ASC);

為了安全起見,我將本地數據庫的腳本用於其他表,並且這次運行時,它可以正常工作! 最后。

希望其他人對此有所幫助。 我敢肯定,在從另一篇文章中創建這些表之前,我曾使用過腳本。 我不確定這是Identity的早期版本還是問題的確切原因。 但是現在正在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM