 <p>My guess is that <code>LocalOffer.Category</code> is a single <code>Category</code> (based on the name). Try this instead:</p> <pre><code>return (from o in Table&lt;LocalOffer&gt;() where categories.Contains(o.CategoryId) select o) .Count(); </code></pre> <p>However, if <code>LocalOffer.Category</code> is an <code>IEnumerable&lt;Category&gt;</code>, this is probably what you need:</p> <pre><code>return (from o in Table&lt;LocalOffer&gt;() where o.Any(c =&gt; categories.Contains(c.CategoryId)) select o) .Count(); </code></pre>