Разработчик покинул нашу компанию и оставил нас обремененными кучей кода на C # с использованием Entity Framework. Я не эксперт по C # и никогда не использовал Entity Framework. Итак, пить с конца пожарного рукава.
У меня проблема с одним фрагментом кода, который не сохраняет изменения. По крайней мере, не в производственной или тестовой среде с веб-сервера. Запуск кода в режиме отладки сохранит данные каждый раз. В той же тестовой базе данных, которая не работает при запуске с веб-сайта (другие формы ввода данных сохраняются в базе данных, только эта, похоже, является проблемой).
Я исследовал иПохоже, многие предложения исходят из того, что Entity Framework не понимает, что данные «фактически» изменены. Итак, я добавил строку кода, чтобы попытаться установить EntityState
на Added
, чтобы заставить его - все еще не радость.
public partial class xDBContext : DbContext
{
public xDBContext() : base("PromiseConnectionString")
{
}
}
...
public partial class xPromise_AllPrograms
{
[Key]
public int PrimID { get; set; }
public int FormId { get; set; }
[StringLength(100)]
public string Degree_Text { get; set; }
}
...
public ActionResult AddDegree(int formId, string degree)
{
using (xDBContext context = new xDBContext())
{
var program = new x_AllPrograms()
{
FormId = formId,
Degree_Text = degree
};
context.Promise_AllPrograms.Add(program);
context.Entry(program).State = System.Data.Entity.EntityState.Added;
context.SaveChanges();
}
return PartialView("_ViewPrograms", GetPrograms(formId));
}
Очевидно, что любой добавленный Degree_Text
должен сохранять витоговая таблица, и будет отображаться заново с помощью GetPrograms
.
Данные просто не сохраняются - ЕСЛИ Я не запускаю их с помощью отладки на локальном рабочем столе.
Идеи?