I tried setting DataSource via DataGridView Designer but it wasn't listed there and then I generated new datasource via wizard which generated DataSet.
But now I have Entity Framework in my project + DataSet how can I use Entity Framework only... I'm confused please help
artiklBindingSource
was automatically generated I only wanted to use EF as datasource now I'm stuck with unwanted DataSet and whole bunch of mess.
Reza Aghaei
To add a data source to use with your DataGridView
in DataGridView Tasks panel, open Choose Data Source: combo box and then:
- Click Add Project Data Source to open Data Source Configuration Wizard.
- In Choose a Data Source Type Choose Object and click Next.
- In Select Data Source Objects choose class which you want to add to data source and click Finish.
- It will add a BindingSource to your Form which is used as DataSource of your DataGridView and you should load data and set data to DataSource of your BindingSourc and then data will be shown in your grid. For example to load data.
Here is the code sample:
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();
}
}
}
Don't know if it's the fastest method but it's the simpler:
dataGridViewStudents.DataSource = schoolContext.Students.ToList<Student>();
来源:https://stackoverflow.com/questions/42114690/what-is-the-correct-way-to-use-entity-framework-as-datasource-for-datagridview