2011-07-05 18 views
2

私が最後にこのクエリを取得したい:LINQ to SQLのビット演算子を作成しますか?

select * from tableName where columnName & 2 = 2 and columnName & 4 = 4 

は、どのように私はこのスクリプトを生成するためにLINQを使用することができますか?

+1

私はあなたが '' ==意味だと思いますか? –

+2

@Henk、SQLではダブル '=='は使用しません。ここでは、SQL WHERE caluseの情報と演算子のセクションを参照してください。http://www.w3schools.com/sql/sql_where.asp –

+0

@flip:しかし、これはC#(LINQ)だと思います。 –

答えて

10

ビット単位の操作は、ビット単位の操作に応じて、&または|のいずれかを使用してC#(およびLINQクエリ)で実行できます。

var query = 
      from row in context.tableName 
      where (row.columnName & 2) == 2 && (row.columnName & 4) == 4 
      select row 
+0

これはアプリケーションサーバーまたはDBサーバー上で実行されますか? –

+0

@Justin、LINQは最後にSQLに評価されるため、AFAIKはSQL Server上で実行されます。あなたが 'context.tableName.ToList()'を持っていない限り、LINQをLINQではなくLINQでEF/SQLにします。 –

2
var query = from r in context.tableName 
    where r.columnName & 2 == 2 and r.columnName & 4 == 4 
    select r; 
関連する問題