为了在 Windows 窗体中轻松持久化对象,您可以使用LINQ2SQL,它完全符合您的要求,并且当您想从数据库中收集对象时,它还会具体化对象。
快速示例,在为支持的数据库(即 SQL Server (Express))从数据库模式创建 linq 上下文后,您只需在表单中创建它的实例,并在对数据进行单原子操作时使用它 - 读取、编辑、写入或取消。
private YourAppContext context;
private void RenewContext()
{
context = new YourAppContext();
}
private void LoadData()
{
RenewContext();
DataGridView1.DataSource = context.Articles.OrderByDescending(x => x.DatePosted).Take(10);
}
private void AcceptButtonPressed()
{
context.SubmitChanges();
}
private void CancelButtonPressed()
{
LoadData();
}
显然,您可以通过 BindingSource 传递数据。