当我尝试将标识从字符串更改为long时,在Visual Studio
应用程序的ASP.NET Core 2.1
中遇到这些错误。还有其他人遇到这些错误吗?
处理请求时发生未处理的异常。 FormatException:输入字符串的格式不正确。 System.Number.StringToNumber(ReadOnlySpan str,NumberStyles 选项,ref NumberBuffer号,NumberFormatInfo信息,布尔 parseDecimal)ArgumentException:81d1aa6c-b70a-4d64-a62a-e177d79b944e 不是Int64的有效值。参数名称:值 System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext 上下文,CultureInfo文化,对象值)
答案 0 :(得分:0)
要将身份主键从SELECT months_between(column1,column2)
FROM Table
更改为string
,请按照以下步骤操作:
添加long
ApplicationUser.cs
修改public class ApplicationUser:IdentityUser<long>
{
}
ApplicationDbContext
修改public class ApplicationDbContext : IdentityDbContext<ApplicationUser, IdentityRole<long>, long>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
Startup.cs
将 services.AddDefaultIdentity<ApplicationUser>()
.AddEntityFrameworkStores<ApplicationDbContext>();
从_LoginPartial.cshtml
修改为IdentityUser
ApplicationUser