2011-07-05 16 views
0

以下のコードでエラーが発生し続けます。それはError "Operator '==' cannot be applied to operands of type 'string' and 'int'.と私はビデオを見て、ジュリーLermanはまったく同じことをしていると述べています。彼女はしかし、エラーを取得しません。どうして?エンティティへの単純なC#Linqクエリが機能しません

private static void CustomerQuery() 
{ 
    var context = new NorthwindEntities(); 
    var query = from c in context.Customers 
       where c.CustomerID == 5 
       select c; 

    var customers = query.FirstOrDefault(); 
} 
+4

CustomerIDはDBテーブルのstring(varchar)なので、 –

+2

Customer.CustomerIDが文字列ではなくintであることを確認してください。 –

+0

CustomerIDは整数ですか?それが当然ではない場合は、エラーがあなたに問題を伝え、文字列と整数を直接比較することはできません。 – hdougie

答えて

1

CustomerIDのデータタイプを確認してください。そうでなければintに変換します。

+0

入手しました。ありがとう。 – James

0

where c.CustomerID == "5"としてください。

+1

これはcの文字列の二重引用符です# –

+0

これは 'c.CustomerID ==" 5 "?"ではなく、単一ではなく二重引用符でなければなりません。 – hdougie

+0

ya、ok私はちょうどそれを編集したことに同意します –

1

のthatsそれは、それは

private static void CustomerQuery() 

     { 
      var context = new NorthwindEntities(); 
      var query = from c in context.Customers 
         where c.CustomerID == "5" 
         select c; 

      var customers = query.FirstOrDefault(); 
     } 
+0

ありがとう。 – James

0

にクエリを変更する文字列である場合にはCustomerIDがタイプintではないと思われ、テーブル内の顧客IDの種類を確認してください。 Typecastそれをintと比較してint datatypeと比較してください。

+0

ありがとう。 – James