1

次の SQL クエリに相当するものを返すLINQ クエリまたはラムダ式の適切な構文に頭を悩ませようとしています。

SELECT * 
FROM tool t 
WHERE t.UniqTool 
  NOT IN (SELECT t1.uniqtool  
          FROM tool t1
          INNER JOIN [version] v ON v.UniqTool = t1.UniqTool 
            AND v.IsBetaVersion = 1)

基本的には、まだベータ版がないツールのリストを取得したいと考えています。UniqTool (ID 値) と、そのバージョンがベータ版かどうかを示すブール型プロパティの両方を持つツール オブジェクトがあります。

これが私の最初の試みでした:

var tools = from t in session.CachedTools where !t.IsBetaVersion select t;

間違った結果セットが返されることに気付き、NOT IN ロジックを使用してサブクエリを見つけようとして迷子になりました。

ありがとう!

4

1 に答える 1