public object Fetch(DatabaseCore accessor) { if (accessor == null) { return(null); } object result = null; string sql = null; List <DbParameter> parameters = null; TableEntity ent = null; FreshSQL(accessor, out sql, out parameters); var data = accessor.Retrieve(accessor.CreateCommand(sql, parameters)); if (data != null && data.Rows.Count > 0) { result = CreateObject(); switch (ForeignType) { case 1: //Entity ent = (TableEntity)result; ent.SetDBAccessor(accessor); ent.SetEntity(data.Rows[0]); ent.Fresh(); break; case 2: //List foreach (DataRow row in data.Rows) { ent = CreateEntity(); ent.SetDBAccessor(accessor); ent.SetEntity(row); ent.Fresh(); AddEntity2List(ent, result); } break; } } return(result); }