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

AFAIK 当数据在 EF 中插入/更新时,无法“触发”某些事件。而且我认为您目前的方法没有问题。

我也看不出它在复杂的应用程序中是如何变得混乱的。我曾在企业级多层 Web/桌面应用程序上工作过,这些应用程序具有类似且更复杂的需求,而无需编写杂乱的代码。您能否详细说明您在复杂场景中面临的问题?

于 2012-09-22T18:37:15.903 回答