Views joining/relating a custom table entity to users through a field?
I know this is not timely, but if someone else is looking for an answer:  

Assumptions:
- Using Entity API
- Joining to another entity where the entity id is a field in your entity's base table
- It's a one-to-one relationship


Add the views controller class to your entity info file
function my_entity_entity_info() {

$info['my_entity'] = array(
  'views controller class' => 'MyEntityViewsController',
  ...
 );


2 Extend EntityDefaultMetadataController

class MyEntityMetadataController extends EntityDefaultMetadataController {

  public function entityPropertyInfo() {

    $info = parent::entityPropertyInfo();

    // This exposes the fields as references to views. 
    $info['my_entity_base_table']['properties']['uid']['type'] = 'user'; 

   ....
  }
}