var result = dbContext.A.Join(dbContext.B, a => new { a.Site, a.C }, b => new { b.Site, b.C }, (a, b) => new { a, b })
.Where(joinedObject => joinedObject.a.Link == someValue && joinedObject.a.Site == someOtherValue && joinedObject.b.Link == thirdValue )
.Select(joinedObject => ...)