public virtual T QueryObject <T>(String sql, params object[] args) where T : new() { T schemaClass = default(T); DatabaseDataReader reader; QueryString query = this.Format(sql, args); DBResult result = Query(query, out reader); if (result.ResultCode == DBResult.Result.Success) { using (reader) { if (reader.Read()) { schemaClass = new T(); if (schemaClass is ILoadable) { ((ILoadable)schemaClass).LoadFrom(reader); } else { DataReaderConverter.LoadClassFromDataReader(schemaClass, reader); } } } } return(schemaClass); }
public virtual List <T> QueryList <T>(String sql, params object[] args) where T : new() { List <T> retVal = new List <T>(); DatabaseDataReader reader; QueryString query = this.Format(sql, args); DBResult result = Query(query, out reader, DefaultTimeout); if (result.ResultCode == DBResult.Result.Success) { using (reader) { bool isLoadable = new T() is ILoadable; while (reader.Read()) { T schemaClass = new T(); if (isLoadable) { ((ILoadable)schemaClass).LoadFrom(reader); } else { DataReaderConverter.LoadClassFromDataReader(schemaClass, reader); } retVal.Add(schemaClass); } //reader.Close(); } } return(retVal); }
public void Load <T>(T objToLoad) { if (objToLoad is ILoadable) { ((ILoadable)objToLoad).LoadFrom(this); } else { DataReaderConverter.LoadClassFromDataReader(objToLoad, this); } }
public T Create <T>() where T : new() { T retVal = new T(); if (retVal is ILoadable) { ((ILoadable)retVal).LoadFrom(this); } else { DataReaderConverter.LoadClassFromDataReader(retVal, this); } return(retVal); }