public IEnumerable <T> Query <T>(String query, Object parametros) where T : new() { var iDbCommand = CriarComando(query); var iDataReader = ExecuteReader(iDbCommand); var mapa = Mapeamento.Obter <T>(); while (iDataReader.Read()) { yield return(mapa.Preencher(new T(), iDataReader)); } iDataReader.Close(); iDataReader.Dispose(); iDbCommand.Dispose(); }
public T Obter <T, TId>(String query, TId id) where T : new() { var retorno = default(T); var iDbCommand = CriarComando(query); var iDataReader = ExecuteReader(iDbCommand); if (iDataReader.Read()) { var mapa = Mapeamento.Obter <T>(); retorno = mapa.Preencher(new T(), iDataReader); iDataReader.Close(); iDataReader.Dispose(); } iDbCommand.Dispose(); return(retorno); }
private static IDbCommand ConfigurarParams(IDbCommand dbCommand, Object param, String querySQL) { dbCommand.CommandText = querySQL; if (param != null) { var mapa = Mapeamento.Obter(param.GetType()); var vMatchCollection = (new Regex("[@][a-zA-Z0-9_]+")).Matches(querySQL); //if ((vMatchCollection.Count == 0) && (mapa.Any())) //{ // foreach (var vNomeParam in mapa) // if (!vNomeParam.Contains("-")) // AdicionarParam(dbCommand, vNomeParam, param, mapa); //} //else { foreach (Match vMatch in vMatchCollection) { AdicionarParam(dbCommand, vMatch.Value, param, mapa); } } } return(dbCommand); }