You can do it, yes. Alternative chain syntax:
var prodts = Product.
Join(
context.ProductApplications,
req => req.ProductGUID,
prod => prod.ProductGUID,
(req, prod) => req
);
IEnumerable<Product>. Join IEnumerable<> , , DB , context.ProductApplications , . "" Product.
GUIDs Product(s?), context.ProductApplications, "" GUIDs ( , ). join.
var prodts = context.
ProductApplications.
Where(pa => Product.
Select(p => p.ProductGUID).
Contains(pa.ProductGUID)
);