web-dev-qa-db-ja.com

DataGridViewのデータソースとしてEntity Frameworkを使用する正しい方法は何ですか?

DataGridView Designerを使用してDataSourceを設定しようとしましたが、リストに表示されなかったため、DataSetを生成するウィザードを使用して新しいデータソースを生成しました。

enter image description here

しかし今、私は自分のプロジェクトにEntity Framework + DataSetがあり、どのようにEntity Frameworkのみを使用できますか...混乱しています。

artiklBindingSourceは自動的に生成されました。EFをデータソースとして使用したかっただけで、今は不要なDataSetが残っています。

12
ChenChi

DataGridView inDataGridView Tasksパネルで使用するデータソースを追加するには、データソースを選択:コンボボックス、次に:

  1. プロジェクトデータソースの追加をクリックして、データソース構成ウィザードを開きます。
  2. データソースタイプの選択Objectを選択し、次へ
  3. データソースオブジェクトの選択でデータソースに追加するクラスを選択し、終了
  4. BindingSourceFormに追加し、DataSourceDataGridViewであり、データをロードしてデータを設定する必要がありますDataSourceBindingSourcのデータがグリッドに表示されます。たとえば、データをロードします。

コードサンプルは次のとおりです。

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

それが最速の方法であるかどうかはわかりませんが、より簡単です:

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