I'm trying to wrap my head around the proper syntax for a LINQ query or a lambda expression that returns the equivalent to the following SQL query:
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)
Basically, I want to get the list of tools that don't already have a beta version. I have a tool object that has both the UniqTool (ID value) and a boolean property indicating whether that version is beta.
Here was my initial attempt:
var tools = from t in session.CachedTools where !t.IsBetaVersion select t;
I realized it gave me the wrong result set and I got lost trying to figure out the subquery with NOT IN logic.
Thanks!