EF 5在调用保存更改时未保存更改

本文关键字:保存更改 调用 EF | 更新日期: 2023-09-27 18:27:56

我在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();

EF 5在调用保存更改时未保存更改

这看起来不对,

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);
}

如果没有发生任何错误,也没有保存任何数据,那么问题一定出在连接字符串中。

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