Was ist der richtige Weg, um Entity Framework als Datenquelle für DataGridView zu verwenden?

Was ist der richtige Weg, um Entity Framework als Datenquelle für DataGridView zu verwenden?

So fügen Sie eine Datenquelle zur Verwendung mit Ihrem DataGridView hinzu in DataGridView-Aufgaben Öffnen Sie im Steuerfeld Datenquelle auswählen: Kombinationsfeld und dann:

  1. Klicken Sie auf Projektdatenquelle hinzufügen um den Datenquellen-Konfigurationsassistenten zu öffnen .
  2. In Wählen Sie einen Datenquellentyp aus Wählen Sie Objekt und klicken Sie auf Weiter .
  3. In Datenquellenobjekte auswählen Wählen Sie die Klasse aus, die Sie der Datenquelle hinzufügen möchten, und klicken Sie auf Fertig stellen .
  4. Es wird eine BindingSource hinzugefügt zu Ihrem Formular die als DataSource verwendet wird Ihres DataGridView und Sie sollten Daten laden und Daten auf DataSource setzen Ihrer BindingSource und dann werden Daten in Ihrem Raster angezeigt. Zum Beispiel um Daten zu laden.

Hier ist das Codebeispiel:

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();
        }
    }
}

Ich weiß nicht, ob es die schnellste Methode ist, aber es ist die einfachere:

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