none
Consulta parametrizada

    Pregunta

  • Buenos dias, soy nuevo de esta lado del foro de Entity Framework.
    Estoy con un duda ya que estoy tratando de migrar una aplicacion a EF y en algunas cosas me voy trabando. Tengo una aplicacion con ADO.Net y uso sql server.
    Tengo una busqueda generica a la cual le paso parametros y me devuelve datos ... quisiera saber si con EF se podria implementar algo asi .Saludos y gracias.
            public Entidades.Utilidades.ds_Busquedas Buscar(string NomTabla, string sWhere, string sOrderBy,
                                            string CampoN1, string CampoN2, string CampoN3,
                                            string CampoN4, string CampoN5, string CampoN6)
            {
                //Entidades.Busquedas.ds_Busquedas dsBusqueda = new Entidades.Busquedas.ds_Busquedas();
                //dsBusqueda.Tables.Add(NomTabla);
                string sSQL = "SELECT ";
                string sSQLCampos = "";
    
                if (CampoN1 != "")
                {
                    sSQLCampos += CampoN1 + ",";
                }
    
                if (CampoN2 != "")
                {
                    sSQLCampos += CampoN2 + ",";
                }
    
                if (CampoN3 != "")
                {
                    sSQLCampos += CampoN3 + ",";
                }
    
                if (CampoN4 != "")
                {
                    sSQLCampos += CampoN4 + ",";
                }
    
                if (CampoN5 != "")
                {
                    sSQLCampos += CampoN5 + ",";
                }
    
                if (CampoN6 != "")
                {
                    sSQLCampos += CampoN6 + ",";
                }
    
                if (sSQLCampos != "")
                {
                    int hasta = sSQLCampos.Length - 1;
                    sSQLCampos = sSQLCampos.Substring(0, hasta);
                    sSQL += sSQLCampos + " FROM ";
                }
                else
                {
                    sSQL += " * FROM ";
                }
    
                if (NomTabla != "")
                {
                    sSQL += NomTabla;
                }
    
                if (sWhere != "")
                {
                    sSQL += " WHERE " + sWhere;
                }
    
                if (sOrderBy != "")
                {
                    sSQL +=" ORDER BY " + sOrderBy;
                }
    
                //Creamos la cadena de conexión a utiliar
                //Utilizamos la sentencia Using para para asegurarnos de cerrar la conexión y liberar 
                //el objeto de memoria al salir de esta sección de manera automática
                SqlConnection oCnn = Datos.General.CreateConnection();
                using (oCnn)
                {
                    //Abrimos la conexión 
                    oCnn.Open();
    
                    //Creamos el comando para realizar la busqueda en la base de datos
                    SqlCommand oCmd = new SqlCommand();
                    using (oCmd)
                    {
                        //Asignamos la conexión de trabajo
                        oCmd.Connection = oCnn;
    
                        //Utilizamos un Script de SQL para la busqueda, que viene por paramentros
                        oCmd.CommandText = sSQL;
    
                        //Siempre devolvemos una coleccion. Es más facil de manipular y controlar.
                        SqlDataAdapter da = new SqlDataAdapter(oCmd);
    
                        Entidades.Utilidades.ds_Busquedas dsBusqueda = new Entidades.Utilidades.ds_Busquedas();
                        dsBusqueda.Tables.Add();
    
                        da.Fill(dsBusqueda.Tables[0]);
                        if (dsBusqueda.Tables[0].Rows.Count > 0)
                            return dsBusqueda;
                        else
                            return null;
                    }
                }
            }


    Saludos, Gastón Marengo

    lunes, 29 de enero de 2018 14:34

Todas las respuestas