我正在尝试将一些查找表绑定到winforms上的组合框。我已经构建了POCCO类并生成了数据库。我已将数据源添加到我的应用程序中。我将源表放到设计器中的组合框中,并为每个组合设置好。我已经使用测试数据填充了数据库中的表。
这是我需要帮助的地方。使用数据集,我只需在表单Load事件上填充tableadapter即可获取数据。使用EF我必须要做一些事情来加载数据。也许是查询?别的什么?我把所有东西都弄好了。只需要最后一步就可以加载它并加载它。感谢。
答案 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上查看“赢取表单中的数据绑定”...