public TValue this[TKey key]
 {
     get { return(_dict[key]); }
     set
     {
         if (!_dict.ContainsKey(key))
         {
             Add(key, value);
         }
         else
         {
             var stm = string.Format("UPDATE {0} SET {1} WHERE {2}",
                                     _tableName,
                                     DBFields <TValue> .FieldsAndValues(value, " , "),
                                     DBFields <TKey> .FieldsAndValues(key, " AND "));
             if (ExecuteNonQuery(stm))
             {
                 _dict[key] = value;
             }
         }
     }
 }
        public bool Remove(TKey key)
        {
            var stm = string.Format("DELETE FROM {0} WHERE {1}", _tableName, DBFields <TKey> .FieldsAndValues(key, " AND "));

            return(ExecuteNonQuery(stm) && _dict.Remove(key));
        }