LINQ to Entities 无法识别 c# 中的方法 'System.String ToString()'
LINQ to Entities does not recognize the method 'System.String ToString()' in c#
我正在使用 C# 创建登录表单。当我登录时出现以下错误:
LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.**
using (var db = new StageCraftEntities())
{
var isValidUsert = db.Users.Where(i => i.UserName == this.txtUserName.Text.ToString() && i.Password == this.txtPassword.Text.ToString()).FirstOrDefault();
var isValidUser = from User in db.Users
where User.UserName.Equals(this.txtUserName.Text.Trim().ToString())
&& User.Password.Equals(this.txtPassword.Text.Trim().ToString())
select User;
if(true)
{
Dashboard dashboard = new Dashboard(isValidUsert);
dashboard.Show();
this.Hide();
}
}
正如其名,它无法将 ToString 转换为有效的 SQL 表达式。
先获取用户名和密码字符串。
var username = this.txtUserName.Text.ToString();
var password = this.txtPassword.Text.ToString();
然后在您的 LINQ 中使用这些:
var isValidUsert = db.Users
.Where(i => i.UserName == username && i.Password == password )
.FirstOrDefault();
将其保存到变量并检查是否相等
var username = this.txtUserName.Text.Trim().ToString();
var password = this.txtPassword.Text.Trim().ToString();
var isValidUser = from User in db.Users
where User.UserName == username
&& User.Password == password
select User;
我正在使用 C# 创建登录表单。当我登录时出现以下错误:
LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression.**
using (var db = new StageCraftEntities())
{
var isValidUsert = db.Users.Where(i => i.UserName == this.txtUserName.Text.ToString() && i.Password == this.txtPassword.Text.ToString()).FirstOrDefault();
var isValidUser = from User in db.Users
where User.UserName.Equals(this.txtUserName.Text.Trim().ToString())
&& User.Password.Equals(this.txtPassword.Text.Trim().ToString())
select User;
if(true)
{
Dashboard dashboard = new Dashboard(isValidUsert);
dashboard.Show();
this.Hide();
}
}
正如其名,它无法将 ToString 转换为有效的 SQL 表达式。
先获取用户名和密码字符串。
var username = this.txtUserName.Text.ToString();
var password = this.txtPassword.Text.ToString();
然后在您的 LINQ 中使用这些:
var isValidUsert = db.Users
.Where(i => i.UserName == username && i.Password == password )
.FirstOrDefault();
将其保存到变量并检查是否相等
var username = this.txtUserName.Text.Trim().ToString();
var password = this.txtPassword.Text.Trim().ToString();
var isValidUser = from User in db.Users
where User.UserName == username
&& User.Password == password
select User;