2017-05-09 7 views
1

ここでは、簡単な操作であると聞いているプロットを失う。私は中央のDataGridViewだけで基本的なWinformsアプリケーションを持っています。WinForms DataGridView即座にEntity Frameworkテーブルに保存

SQL ServerにEntity Framework db-firstで接続されたテーブルがあります。

private void Form_Load(object sender, EventArgs e) 
    { 
     BindingSource bs = new BindingSource(); 
     Global.db.*Entity*.Load(); 
     bs.DataSource = Global.db.*Entity*.Local.ToBindingList() ; 
     dataGridView1.DataSource = bs; 
    } 

これを起動してセルの値を変更すると、自動的にバックグラウンドでDBが更新されます。

しかし、サイコロはありません。

誰もが欠けていた何レザへ

+0

__Do not__コール(これは大きなテーブルになるだろう)ごとにテーブル全体を更新せずにこれを行う方法を知っています'DataGridView'a' GridView'または 'DataGrid'とその逆です!これらは異なるコントロールであるため、間違って混乱します。常に__right__の名前で物事を呼び出す! – TaW

+1

データベースを自動的に更新しません。これは 'DbSet'の実体である' BindingList'の要素を更新します。データのロードに使用する 'DbContext'オブジェクトの' SaveChange'メソッドを呼び出すことで、データベースへの変更を保存することができます。 –

答えて

1

おかげ..

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) 
    { 
     Global.db.SaveChanges(); 
    } 
関連する問題