在这里我们实例化了Invoice类的一个实例,添加了相关的数据内容,然后使用db.Invoices.Add增加到Account类的DBSet属性中,最后调用savechanges方法保存到数据库中,运行后,可以看到如下效果:
现在我们试下更新数据,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
Accounting db = new Accounting();
Invoice invoice = new Invoice
{
ID = 1,
InvoiceDate = DateTime.Now,
Total = 900
};
db.Entry(invoice).State = EntityState.Modified;
db.SaveChanges();
db.Invoices.Load();
GridView1.DataSource = db.Invoices.Local.ToBindingList();
GridView1.DataBind();
}
{
Accounting db = new Accounting();
Invoice invoice = new Invoice
{
ID = 1,
InvoiceDate = DateTime.Now,
Total = 900
};
db.Entry(invoice).State = EntityState.Modified;
db.SaveChanges();
db.Invoices.Load();
GridView1.DataSource = db.Invoices.Local.ToBindingList();
GridView1.DataBind();
}
这里把invoice实例的成员变量的ID改为1,注意在更新时,设置其状态(state)为EntityState.Modified,表示是修改记录,最后再保存,运行后,可以看到数据库中的数据的确更新了,所有这些都是Entity 框架在起作用。
最后学习删除记录,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
Accounting db = new Accounting();
Invoice invoice = new Invoice
{
ID = 1,
InvoiceDate = DateTime.Now,
Total = 900
};
db.Invoices.Remove(invoice);
db.SaveChanges();
db.Invoices.Load();
GridView1.DataSource = db.Invoices.Local.ToBindingList();
GridView1.DataBind();
}
{
Accounting db = new Accounting();
Invoice invoice = new Invoice
{
ID = 1,
InvoiceDate = DateTime.Now,
Total = 900
};
db.Invoices.Remove(invoice);
db.SaveChanges();
db.Invoices.Load();
GridView1.DataSource = db.Invoices.Local.ToBindingList();
GridView1.DataBind();
}
这里只需要调用Remove方法,即可在数据库中删除该记录。