如何使用实体框架将数据从多个表绑定到datagridview并使用CRUD操作
本文关键字:datagridview 绑定 操作 CRUD 框架 实体 何使用 数据 | 更新日期: 2023-09-27 18:06:00
能否有人请给出一个例子,如何将结果绑定到一个datagridview从多个表(从一个连接查询)在实体框架。实际上我可以将数据绑定到datagridview但是当我调用
时context.SaveChanges ();数据库中没有任何更新。如何使用Update,Insert,Delete函数正确地将数据绑定到datagridview。
这就是我所尝试的。
public class DataBindingProjection
{
public string dono { get; set; }
public int apmntid { get; set; }
public string servicedesc { get; set; }
public string cusid { get; set; }
public string empid { get; set;
public bool isdelivered { get; set; }
}
context = new HHCSEntities();
var query = from d in context.DeliveryOrders
join a in context.Appointments on d.ApmntId equals a.ApmntId
join s in context.ServiceCategories on d.ServiceId equals s.ServiceId
join e in context.Employees on d.EmpId equals e.EmpId
select new DataBindingProjection
{
dono = d.DONo,
apmntid = a.ApmntId,
servicedesc = s.ServiceDesc,
cusid = a.CusId,
empid = d.EmpId,
shortname = e.ShrtName,
isdelivered = d.IsDelivered
};
dataGridView1.DataSource = query.ToList();
dataGridView1.Columns[1].DataPropertyName = "dono";
dataGridView1.Columns[2].DataPropertyName = "apmntid";
dataGridView1.Columns[3].DataPropertyName = "servicedesc";
dataGridView1.Columns[4].DataPropertyName = "apmntid";
dataGridView1.Columns[5].DataPropertyName = "empid";
dataGridView1.Columns[9].DataPropertyName = "isdelivered";
在给出查询结果后,您应该这样写:
...
BindingSource bi = new BindingSource();
bi.DataSource = query.ToList();
dataGridView1.DataSource = bi;
dataGridView1.Refresh();
...