我正在处理窗体表单应用程序,并且我正在尝试使用ADO.net实体数据模型更新我的数据库。这是我的代码
private void AddJobAddBtn_Click(object sender, EventArgs e)
{
JobTable job = new JobTable();
JobDatabaseEntities db = new JobDatabaseEntities();
job.Project_name = this.ProjectName_txt.Text;
job.Job_Number = this.JobNumber_txt.Text;
job.Job_Value = int.Parse(this.JobValue_txt.Text);
job.Sales_Initials = this.SalesInitials_txt.Text;
job.Stage = this.Stage_combo.Text;
job.Creation_Date = DateTime.Parse(this.CreationDate_dte.Text);
job.Email = this.Email_txt.Text;
job.Notes = this.Notes_txt.Text;
db.JobTables.Add(job);
db.SaveChanges();
Form1 home = new Form1();
this.Visible = false;
home.Visible = true;
}
此代码运行时没有任何错误但是当我检查数据库时没有任何数据行,因此每当我关闭项目时,我保存的所有数据都将丢失。
我在与我的表绑定的Form1(home)页面上有一个datagridview。我可以在添加数据后在datagridview中看到我添加的数据,但它没有反映在数据库中。
请注意:我的表格中有一个名为Id的主键设置为标识。
我也尝试过使用
db.Entry(job).State = EntityState.Modified;
前
db.JobTables.Add(job);
并使用async函数
private async void AddJobAddBtn_Click(object sender, EventArgs e)
await db.SaveChangesAsync();
但它还没有更新数据库。
我也可以从datagridview删除和更新我的数据但是它没有在数据库中提交。