2013-07-01 26 views
5

に翻訳することはできません私はこのコードをしようとすると、私はこのエラーを取得する:LINQは方法「の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"); 
} 
+0

使用ブラケットとあなたのDBは、大文字と小文字を区別しない場合は、 'を残すことができる、サイドノートで – Sayse

+0

をtryparse /パース.ToLower() 'を呼び出すと、読みやすくなるようになります。 'using'ブロックの中でラップされていることが最も良いコンテキストを' Dispose'することも忘れないでください。 – Silvermind

答えて

7

ので、エンティティへのLINQは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); 
関連する問題