I do not understand why this query fails.
var qTags = from tagsU in _context.ADN_ProductTagsView
where !(from o in _context.ADN_ProductTagsView
where
It seems that the implementation of the QueryProvider you're using isn't complete. I'm not familiar with the QueryProvider you're using, but maybe you can try something like this:
var qTags = from tagsU in _context.ADN_ProductTagsView
where !(from o in _context.ADN_ProductTagsView
where o.ProductID == productId
select o.ProductTagID).Any(tagId => tagId == tagsU.ProductTagID)
select tagsU;
Hope that helps