0

私は C# と Entity Framework (5.0) から始めたばかりです。コンボ ボックスをデータベース テーブルにバインドする次のコードがありますが、従業員のリストを更新すると、コンボ ボックスが自動的に更新されません。私が考えることができる唯一の解決策は、linq クエリを別のメソッドに入れ、update_cmbEmployees()更新が必要になるたびにそれを呼び出すことですが、これはあまり洗練されたソリューションではなく、複雑なアプリケーションでは面倒になる可能性があります。ですから、このような問題にはもっと良い解決策があるに違いないと思います。私が接続できるイベントのようなものはありますか? それとも、私はそれをすべて間違ってバインドしていますか?

BindingSource bsCmbEmployees;
    private void Form1_Load(object sender, EventArgs e)
    {
        using( var ctx = new TimeKeepEntities())
        {
            var activeEEs = from ee in ctx.tblEmployees
                            where ee.Active
                            select ee;

            bsCmbEmployees = new BindingSource();
            bsCmbEmployees.DataSource = activeEEs.ToList();
            cmbEmployees.DataSource = bsCmbEmployees;
            cmbEmployees.DisplayMember = "Name";
            cmbEmployees.ValueMember = "EeID";
          }
   }

Edit1: エンティティ フレームワークのバージョンを追加

4

1 に答える 1

0

私の知る限り、EFでデータが挿入/更新されたときにイベントを「トリガー」する方法はありません。そして、あなたの現在のアプローチに問題はないと思います。

また、複雑なアプリケーションでどのように乱雑になるかわかりません。私は、煩雑なコードを書くことなく、同様のより複雑なニーズを持つエンタープライズ レベルの多層 Web/デスクトップ アプリケーションに取り組んできました。複雑なシナリオで直面している問題について詳しく教えてください。

于 2012-09-22T18:37:15.903 に答える