I have 11 records in the menu table, 1 with only one page ID set, though I var test = Menu.All () Where (x = & gt; x.WebPages.Any (pages = & gt; pages.Roles.Contains (roles.GETRolesForUser () [0]) As I run SQL See 11 records SELECT [t0]. [Category ID], [T.]. [Created], [T.]. [Created], [T0]. [ID] [T.]. [ImageID], [T.]. [ImageEdware], [T.]. [Locale], [T.]. [Modified BI], [T.]. [Modified], [ T] [Audi], [T.]. [PageID], [T.]. [Parent ID], [T]. [Title], [T.]. [URL], [T.]. [Visible ] FOR [DBO]. [Menu] AS Where T is present (SELECT NULL FROM [dbo]. [Webpage] AS T1 WHERE ([T1]. [Roles] '%' + 'User' + '%')) If I run it, then I get 1 record var test = menu. All () where (x => x.WebPages.Any (pages => gt; & gt; ; Pages.Roles. (Rolls. Gatorolforces () [0]) and pages.ID == x.PageID); S [class]] [T.]. [Created], [T.]. [Image ID], [T.]. [ImageHouse], [T.]. [Locale], [T.]. [Modified], [T.] [Modified], [T.] [Order id], [t] [[Origin]], [T.]...