LINQ to 实体无法识别方法'Int32 ToInt32(System.String)'方法,并且此方法无法转换为存储表达式



当我尝试以下代码时,会出现此错误:

TaxiEntities db = new TaxiEntities();
bool IsUserPassCorrected = db.tblOperators.Any(item => item.UserName.ToLower() == txtUserName.Text.ToLower() &&
item.Password == Convert.ToInt32(txtPassWord.Text));
if (!IsUserPassCorrected)
{
    MessageBox.Show("Username or Password is incorrected! Please try again");
}

由于LINQ to Entities不支持Convert.ToInt32,因此需要首先解析到LINQ外部的int

TaxiEntities db = new TaxiEntities();
int password = int.Parse(txtPassWord.Text);
bool IsUserPassCorrected = db.tblOperators
            .Any(item => item.UserName.ToLower() == txtUserName.Text.ToLower() 
                      && item.Password == password);

最新更新