C#SubmitChanges不起作用

时间:2017-01-19 23:05:15

标签: c# entity-framework

我正在尝试建立一个数据库。我做了一个表格,我想从中获取数据。一切似乎都没问题,但我的数据库没有得到更新,也没有改变。我正在使用本地数据库。我试图更改“复制到输出目录”但没有发生任何事情...... 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);
        }
    }
}

1 个答案:

答案 0 :(得分:4)

您是否必须让实体层知道这个新对象?我想你需要为新实体调用这样的东西:

db.Matches.InsertOnSubmit(match);

完全可以通过此实体层从数据库加载实体,修改它们,然后使用db.SubmitChanges(),因为实体层已经知道现有对象!如果实体层没有任何引用,它应该如何知道这个新对象呢?