public function dump($deep = 0)
 {
     $r = array('collection-of' => $this->_ofclass);
     $ti = Model::_modelinfo($this->_ofclass);
     foreach ($this as $v) {
         $keys = array();
         foreach ($ti['primarykey'] as $pk) {
             $keys[] = sprintf('%s=%s', $pk, $v->{$pk});
         }
         $x = sprintf('%s(%s)', $this->_ofclass, join(',', $keys));
         if ($deep) {
             $r[$x] = $v->dump();
         } else {
             $r[$v->{$pk}] = $x;
         }
     }
     #foreach ($this->pendingdel as $v) {
     #    $r["deleted-".$v->$pk] = sprintf('%s(%s=%s)', $this->_ofclass, $pk, $v->$pk);
     #}
     return $r;
 }