0

こんにちは、私は EF の初心者で、EF でいくつかの例を試しています。通常、1 つのオブジェクトを操作するときに問題はありませんが、本当に不思議に思うのは、XtraGrid などのグリッドで使用する場合、どのように操作するのですか? devexpress?

通常、バインディング ソースを使用して、グリッドのデータ ソースをコンテキストに設定します。

     private void Form1_Load(object sender, EventArgs e)
    {

        using (var context = new BeygirDataModeliContainer())
        {
            beygirBindingSource.DataSource = context.BeygirSet;
        }


    }

グリッドを変更してイベントを次のように設定した場合:

    using (var context = new BeygirDataModeliContainer())
        {

            context.SaveChanges();
        }

        gridControl1.RefreshDataSource();

データベースを変更したり、更新したり、実際に何かを行ったりすることはありません。例はオフになっているかもしれませんが、グリッドやモデル コレクションで EF を使用するのに役立つチュートリアルはありますか?

よろしく。

4

1 に答える 1

0

エンティティ コンテキストを「有効」に保ちます。閉じるたびにブロックusing呼び出し。Dispose

using (var context = new BeygirDataModeliContainer())
{
    beygirBindingSource.DataSource = context.BeygirSet;
}//context.Dispose() is call here

このようなことを試してみてください。

BeygirDataModeliContainer context; 
private void Form1_Load(object sender, EventArgs e)
{
    context = new BeygirDataModeliContainer()        
    beygirBindingSource.DataSource = context.BeygirSet; 
}
private void ApplyButton(object sender, EventArgs e)
{
    context.SaveChanges();
}

private void CancelButton(object sender, EventArgs e)
{
    context.Dispose();  
    context = new BeygirDataModeliContainer()
    beygirBindingSource.DataSource = context.BeygirSet;
    gridControl1.RefreshDataSource();
}
于 2013-03-04T15:39:38.283 に答える