我正在尝试建立一个数据库。我做了一个表格,我想从中获取数据。一切似乎都还好,但是我的数据库没有更新,也没有更改。我正在使用本地数据库。我试图更改“复制到输出目录”,但是什么也没发生... SubmitChanges似乎还可以:我收到消息,但是在程序关闭后,数据库不包含新数据...我看到了很多帖子有类似的问题,但我没有找到解决方案。
我的代码:
private void felvetButton_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
if (f2.ShowDialog() == DialogResult.OK)
{
Match m = new Match();
try
{
m.datum = f2.datumTextBox.Text;
m.mod_fk = Convert.ToInt32(f2.modTextBox.Text);
m.acc_fk = Convert.ToInt32(f2.accTextBox.Text);
m.champion = f2.champTextBox.Text;
m.szerep_fk = Convert.ToInt32(f2.roleTextBox.Text);
m.kimenet = f2.resultTextBox.Text;
m.mhossz = f2.lengthTextBox.Text;
m.kill = Convert.ToInt32(f2.killTextBox.Text);
m.death = Convert.ToInt32(f2.deathTextBox.Text);
m.assist = Convert.ToInt32(f2.assistTextBox.Text);
m.kda = float.Parse(f2.kdaTextBox.Text);
m.killpart = float.Parse(f2.kpTextBox.Text);
m.farm = Convert.ToInt32(f2.farmTextBox.Text);
m.ward = Convert.ToInt32(f2.wardTextBox.Text);
m.redward = Convert.ToInt32(f2.redwTextBox.Text);
db.SubmitChanges();
MessageBox.Show("New match added to the database!");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
最佳答案
您是否不必让实体层知道这个新对象?我想您需要为新实体调用这样的名称:
db.Matches.InsertOnSubmit(match);
通过此实体层从数据库中加载实体,进行修改,然后使用
db.SubmitChanges()
是非常好的,因为实体层已经知道现有对象!如果实体层没有任何引用,应该如何知道这个新对象?