.net core 实体框架.Net核心FindAsync抛出系统.OverflowException:算术运算导致溢出

.net core 实体框架.Net核心FindAsync抛出系统.OverflowException:算术运算导致溢出,.net-core,entity-framework-core,asp.net-core-webapi,.net Core,Entity Framework Core,Asp.net Core Webapi,我正在尝试创建一个web API,用于返回令牌的身份验证。 我在Windows 10上使用.Net core 1.1、EF 1.1.0和SQL 2014 express。我按照网站的指示创建所需的类 在中间件类中,有一个名为GetIdentity的函数来检查数据库中的用户名和密码。这是密码 private async Task<ClaimsIdentity> GetIdentity(string username, string password, MyDBContext db) {

我正在尝试创建一个web API,用于返回令牌的身份验证。 我在Windows 10上使用.Net core 1.1、EF 1.1.0和SQL 2014 express。我按照网站的指示创建所需的类

在中间件类中,有一个名为GetIdentity的函数来检查数据库中的用户名和密码。这是密码

private async Task<ClaimsIdentity> GetIdentity(string username, string password, MyDBContext db) {
        try
        {
            m_user SignedUser = await db.Users.FindAsync(username);
            if (SignedUser == null || !SignedUser.password.Equals(password, StringComparison.Ordinal))
                throw new ArgumentException("Invalid username or password");

            return await Task.FromResult<ClaimsIdentity>(
                new ClaimsIdentity(
                    new GenericIdentity(username, "Token"),
                    new Claim[] { }
                ));
        }
        catch (Exception ex) {Console.WriteLine(ex.Message); return await Task.FromResult<ClaimsIdentity>(null); }
    }
私有异步任务GetIdentity(字符串用户名、字符串密码、MyDBContext db){
尝试
{
m_user SignedUser=wait db.Users.FindAsync(用户名);
if(SignedUser==null | |!SignedUser.password.Equals(password,StringComparison.Ordinal))
抛出新的ArgumentException(“无效的用户名或密码”);
返回wait Task.FromResult(
新索赔实体(
新GenericEntity(用户名,“令牌”),
新的索赔[]{}
));
}
catch(异常ex){Console.WriteLine(ex.Message);返回wait Task.FromResult(null);}
}
当节目播出时

m_user SignedUser=wait db.Users.FindAsync(用户名)

它抛出系统溢出异常:算术运算导致溢出。

我没有运气找到解决方案,或者至少没有找到失败的原因

有人知道我为什么会有那个例外吗

谢谢你帮助我


p.S:如果您需要更多信息,请告诉我

我已经解决了。我用错了连接字符串。我必须在连接字符串中输入SQL数据库的端口号

错误的一个:

Server=serverAddress;Database=dbName;User Id=dbUser;Password=dbPassword;
正确的一个:

Server=serverAddres,portNumber;Database=dbName;User Id=dbUser;Password=dbPassword;
默认MSSQL端口号为1433

如果你和我有同样的问题,希望它能帮助你

p.S您可能会遇到不同的异常。当我尝试在VS代码上运行它时,出现了此异常

像这个:

Microsoft.EntityFrameworkCore.Query.Internal.SqlServerQueryCompilationContextFactory[1]在迭代查询结果时,数据库中发生异常