System.Data.SqlClient.SqlException (0x80131904): 列名"Use



当我尝试使用 Web API 控制器创建用户(具有重复的用户名)时,我已将 ASP.NET 成员资格提供程序迁移到 ASP.NET 身份,迁移后出现以下错误。此错误不会在 IdentityResult 上捕获。

"message": "System.Data.SqlClient.SqlException (0x80131904): 无效 列名"用户 ID"。\r列名"用户 ID"无效。\r 位于 System.Data.SqlClient.SqlCommand.b__24(任务 1 结果)\r 在 System.Threading.Tasks.ContinuationResultTaskFromResultTask'2.InnerInvoke()\r at System.Threading.Tasks.Task.Execute()\r--- 堆栈跟踪结束 从引发异常的上一个位置---\r 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task 任务)\r 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task 任务)\r 在 System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()\r at System.Data.Entity.Utilities.TaskExtensions.CultureAwaiter1.GetResult()\r 在 System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.d__c.MoveNext()\r客户端连接 Id:95d07c45-7f78-448c-9392-09999eb8c42d">

我的代码。

var user1 = new ApplicationUser
{
Id = Guid.NewGuid().ToString(),
UserName = ud.Username,
Email = ud.Email,
IsApproved = false,
ApplicationId = new Guid("4600317a-8e7e-476a-86f1-8409a5ed60b7"),
LoweredUserName = ud.Username.ToLower(),
LastActivityDate = Convert.ToDateTime("1754-01-01 00:00:00.0000000"),
CreateDate = DateTime.Now,
IsLockedOut = false,
LoweredEmail = ud.Email.ToLower(),
LastLoginDate = Convert.ToDateTime("1754-01-01 00:00:00.0000000")
};
var result = await userManager.CreateAsync(user1, ud.Password);

查看实体代码的后端。可能是,在迁移后,它带走了旧的连接字符串。

这是一个旧问题的链接:在此处输入链接描述