Не, делать маппинг на TableId не нужно, свойство TableId переменной-мапа после присваивания будет указывать на id конкретной таблицы, а не мапа.
А проблемой этой я заморачивался год назад
вот тут. Можно сделать как предлагает Сергей, других способов я не нашел, а от задачи этой отказался.