我正在尝试建立一个数据库。我做了一个表格,我想从中获取数据。一切似乎都没问题,但我的数据库没有得到更新,也没有改变。我正在使用本地数据库。我试图更改“复制到输出目录”但没有发生任何事情...... 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);
}
}
}
答案 0 :(得分:4)
您是否必须让实体层知道这个新对象?我想你需要为新实体调用这样的东西:
db.Matches.InsertOnSubmit(match);
完全可以通过此实体层从数据库加载实体,修改它们,然后使用db.SubmitChanges()
,因为实体层已经知道现有对象!如果实体层没有任何引用,它应该如何知道这个新对象呢?