¿Cuál es la forma correcta de usar Entity Framework como fuente de datos para DataGridView?

¿Cuál es la forma correcta de usar Entity Framework como fuente de datos para DataGridView?

Para agregar una fuente de datos para usar con su DataGridView en Tareas de DataGridView panel, abra Elegir fuente de datos: cuadro combinado y luego:

  1. Haga clic en Agregar fuente de datos del proyecto para abrir el Asistente de configuración de fuente de datos .
  2. En Elija un tipo de fuente de datos Elija Objeto y haga clic en Siguiente .
  3. En Seleccionar objetos de fuente de datos elija la clase que desea agregar a la fuente de datos y haga clic en Finalizar .
  4. Agregará un BindingSource a su Formulario que se utiliza como Fuente de datos de su DataGridView y debe cargar datos y establecer datos en DataSource de su BindingSourc y luego los datos se mostrarán en su cuadrícula. Por ejemplo, para cargar datos.

Aquí está el ejemplo de código:

using System;
using System.Windows.Forms;
using System.Data.Entity;
namespace WindowsFormsApplication
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        SampleDBEntities db;
        private void Form1_Load(object sender, EventArgs e)
        {
            db = new SampleDBEntities();
            db.Products.Load();
            this.productBindingSource.DataSource = db.Products.Local.ToBindingList();
        }
        private void SaveButton_Click(object sender, EventArgs e)
        {
            db.SaveChanges();
        }
        private void Form1_FormClosed(object sender, FormClosedEventArgs e)
        {
            db.Dispose();
        }
    }
}

No sé si es el método más rápido pero es el más simple:

dataGridViewStudents.DataSource = schoolContext.Students.ToList<Student>();