我正在尝试创建一个数据库。我制作了一个表格,我想从中获取数据。一切看起来都很好,但我的数据库没有得到更新,也没有改变。我正在使用本地数据库。我尝试更改“复制到输出目录”,但没有任何反应... 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() 是完全可以的,因为实体层已经知道现有的对象!如果实体层没有任何对它的引用,它如何知道这个新对象?
关于C# SubmitChanges 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41753342/