EF 5不保存调用保存更改的更改

时间:2013-08-16 21:31:51

标签: c# entity-framework-5 dbcontext savechanges

我在VS 2012中使用EF 5.我正在尝试将新记录保存到表中,但是没有保存在表中,也没有抛出错误。请帮忙 。我附上了我的代码。

using (TestEntities context = new TestEntities(new TestEntityConnectionManager("Testconn").ConnectionString))
            {
                var newCan = new Can
                {
                    CanGUID = new Guid(canGuid),
                    CanName = canName,
                    CanDescription = canDescription,
                    DesignCandidateID = designCandidateId,
                    MigrationDataXml = migrationDataXml,
                    PersonID =  1,
                    LastModifiedPersonID = 1,
                    CreationDate = DateTime.Now,
                    LastModifiedDate = DateTime.Now,

                };
                context.Cans.AddObject(newCan);
                var paramOut =  context.SaveChanges();
                retval = paramOut.ToString();

2 个答案:

答案 0 :(得分:0)

这看起来不对,

var paramOut = context.SaveChanges();

应该在[HttpPost]

包围的if (ModelState.IsValid)方法中
[HttpPost]
public ActionResult Create(CLASS Model)
{
        if (ModelState.IsValid)
        {
                db.Table.Add(Model);
                db.SaveChanges();
                return RedirectToAction("Index");
        }
        return View(Model);
}

答案 1 :(得分:0)

如果没有发生错误且没有保存数据,则问题必须出在您的连接字符串中。

事实上,您的conStr似乎没有连接到您想要的数据库!并且db初始化程序创建了一个新数据库(因为你的自定义conStr)并将数据保存在其中。