public virtual DataEvent SelectByID(long id)
        {
            //using(SQLiteCommand cmd = this.file.CreateCommand()) {
            string cmdText = string.Format("select * from {0} where id = {1}", Name, id);
            //cmd.CommandText = sel;

            DataEvent ev = CreateDataEvent();

            ev.ID = id;
            using (DataCommandBase dtc = new EventDataCommand(ev, cmdText))
            {
                _file.AddCommand(dtc);
                dtc.Wait();
            }
            foreach (DataTableBase linkedTable in LinkedTables)
            {
                long[] linkids = linkedTable.SelectIDsByIndexColumn(id);
                if (linkids != null)
                {
                    foreach (long linkid in linkids)
                    {
                        ev.LinkedDataEvents(linkedTable).Add(linkedTable.SelectByID(linkid));
                    }
                }
            }
            return(ev);
        }
        public DataEvent SelectByBossID(long id)
        {
            string    cmdText = string.Format("select * from {0} where bossid = {1}", Name, id);
            DataEvent ev      = CreateDataEvent();

            using (DataCommandBase dtc = new LongDataCommand(string.Format("select id from {0} where bossid = {1}", Name, id)))
            {
                _file.AddCommand(dtc);
                dtc.Wait();
                ev.ID = (long)dtc.Result;
            }
            using (DataCommandBase dtc = new EventDataCommand(ev, cmdText))
            {
                _file.AddCommand(dtc);
                dtc.Wait();
            }
            foreach (DataTableBase linkedTable in LinkedTables)
            {
                long[] linkids = linkedTable.SelectIDsByIndexColumn(id);
                if (linkids != null)
                {
                    foreach (long linkid in linkids)
                    {
                        ev.LinkedDataEvents(linkedTable).Add(linkedTable.SelectByID(linkid));
                    }
                }
            }
            return(ev);
        }