EF 5 не сохраняет изменения при вызове сохранения изменений

Я использую EF 5 в VS 2012. Я пытаюсь сохранить новую запись в таблице, но не сохраняется в таблице, а также не выдается никаких ошибок. Пожалуйста помоги . Прикрепляю свой код.

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

person Navneet Duggal    schedule 16.08.2013    source источник
comment
Можете ли вы показать весь метод? Я не вижу ничего бросающегося в глаза, кроме того, что вы используете версию ObjectContext, и рекомендуется использовать DbContext.   -  person Justin    schedule 17.08.2013
comment
Привет, Джастин, в этом методе нет ничего другого, у метода есть некоторые параметры, которые я передаю в качестве значения новому классу newCan, как показано выше в моем фрагменте кода.   -  person Navneet Duggal    schedule 17.08.2013
comment
Поместите его в try catch и сообщите нам, что это за исключение   -  person kkocabiyik    schedule 17.08.2013
comment
AddObject не является методом для IDbSet (ef 5), либо вы публикуете неправильный код, либо вместо этого следует использовать .Add   -  person Not loved    schedule 17.08.2013


Ответы (2)


Это выглядит неправильно,

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);
}
person RobertMcAtee    schedule 16.08.2013

Если ошибок не возникает и данные не сохраняются, проблема должна быть в вашей строке подключения.

На самом деле, кажется, что ваш conStr не подключается к нужной вам базе данных! И db initializer создает новую базу данных (из-за вашего пользовательского conStr) и сохраняет в ней данные.

person Amin Saqi    schedule 17.08.2013