无法使用saveChanges()方法将数据保存到实体模型数据库

时间:2013-05-17 18:56:20

标签: c# database entity-framework insert sql-update

我正在尝试将数据保存到我的数据库中。我想要的是,当按下按钮时,数据将永久保存到数据库中。我已经完成了在应用程序运行时保存代码的测试。保存的数据是可见的。但是当我终止应用程序时,当我在visual studio中查看该表的数据时,数据不存在。我提供了用于测试的代码。

private void btn_otrFun_Click(object sender, EventArgs e)
    {
        tblCheese cheese = new tblCheese();
        string cheesename = "TestCheese";
        cheese.CheeseName = cheesename;
        cheese.CheeseGroup = 1;
        cheeseEntity.tblCheese.AddObject(cheese);
        cheeseEntity.SaveChanges();
    }

这是我获取上下文表单的地方。它在表单的开头实例化。

 private CheeseWorld_DatabaseEntities cheeseEntity = new CheeseWorld_DatabaseEntities(); //instanciate new database entities

此外,我正在使用此代码段从数据库中检索数据以动态创建按钮。

var cheeselist = cheeseEntity.ExecuteStoreQuery<tblCheese>("Select * FROM tblCheese WHERE cheeseGroup = 1", null).ToList();

希望这些进一步的细节有所帮助。如果需要更多,请告诉我。

1 个答案:

答案 0 :(得分:1)

你已经偏离了我们通常使用的正常模式...也许试着把它放回到这样的东西......(我不知道你在哪里得到上下文)

using (var context = new cheeseEntity()) {
    tblCheese cheese = new tblCheese();
    cheese.CheeseName = "TestCheese";
    cheese.CheeseGroup = 1;
    context.tblCheese.Add(cheese);
    context.SaveChanges();
}

文档中介绍了这一点:http://msdn.microsoft.com/en-us/data/jj593489  (注意它显示如何跟踪生成的SQL的底部)

注意:我使用的是Add而不是AddObject。