¿Cómo llenar los valores de un combobox con Entity framework en Windows Form .Net? C#

Para llenar de elementos un combobox existe diversas formas de hacerlo, y esta vez te mostrare como hacerlo a partir de una tabla mapeada en Entity Framework.

En el siguiente ejemplo, ya existiendo un Entity Framework en nuestro proyecto, hacemos la consulta deseada a la tabla con los filtros y ordenamiento deseado, y seleccionamos que campo será mostrado y que campo será el valor, llenamos nuestro combobox llamado cboCatalogo:


 using (MiEntity db = new MiEntity()) {

                //realizamos la consulta aplicando filtros y ordenamientos
                //y convertimos a lista, esto ultimo es Importante
                cboCatalogo.DataSource = db.tabla.Where(d => d.algo == 1).OrderBy(d=>d.nombre).ToList();

                //campo que vera el usuario
                cboCatalogo.DisplayMember = "nombre"; 

                //campo que es el valor real
                cboCatalogo.ValueMember = "id";
 }

De esta manera tenemos más control con lo que deseamos mostrar, teniendo el poder de filtrar u ordenar nuestra consulta.

Autor: Héctor de León

Desarrollador de software, lector compulsivo.