EF 5.0 Code First Winforms组合框数据绑定

时间:2013-01-01 01:33:31

标签: entity-framework data-binding

我正在尝试将一些查找表绑定到winforms上的组合框。我已经构建了POCCO类并生成了数据库。我已将数据源添加到我的应用程序中。我将源表放到设计器中的组合框中,并为每个组合设置好。我已经使用测试数据填充了数据库中的表。

这是我需要帮助的地方。使用数据集,我只需在表单Load事件上填充tableadapter即可获取数据。使用EF我必须要做一些事情来加载数据。也许是查询?别的什么?我把所有东西都弄好了。只需要最后一步就可以加载它并加载它。感谢。

1 个答案:

答案 0 :(得分:0)

如何与数据库通信有很多方法。我明白了,你可能正在使用EF Code First方法。想象一下这个背景:

public class WinFormContext : DbContext
{
    public DbSet<Car> Cars { get; set; }
}

public class Car
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
}

你要先添加一些记录。您可以使用文本框和一个按钮创建简单的表单。

    private void button1_Click(object sender, EventArgs e)
    {
        using (var WinFormContext = new WinFormContext())
        {
            Car car = new Car { Name = textBox1.Text };
            WinFormContext.Cars.Add(car);
            WinFormContext.SaveChanges();
        }
    }

这是一个简单的解决方案,如何在onClick事件后添加新记录。现在,您想要在网格视图中显示所有记录。其中一个可能的解决方案是手动填充控件:

    BindingSource bindingSource = new BindingSource();
    private void Form2_Load(object sender, EventArgs e)
    {
        var WinFormContext = new WinFormContext();
        bindingSource.DataSource = WinFormContext.Cars.ToList();

        dataGridView1.DataSource = bindingSource;
        dataGridView1.AutoGenerateColumns = true;
    }

但是有更多的方法可以做到这一点。我建议您在Google上查看“赢取表单中的数据绑定”...