/// <summary> /// Returns a record for this keyValue /// </summary> /// <param name="keyValue">Key Value</param> /// <returns></returns> private static T FetchByIdInternal(object keyValue) { if (keyValue == null) { return(null); } // makes sure the table schema is loaded T item = new T(); // build the query Query q = new Query(BaseSchema).WHERE(BaseSchema.PrimaryKey.ColumnName, Comparison.Equals, keyValue); // load the reader using (IDataReader rdr = DataService.GetSingleRecordReader(q.BuildSelectCommand())) { if (rdr.Read()) { item.Load(rdr); } rdr.Close(); } if (!item._isNew && item.IsLoaded) { return(item); } return(null); }