У меня здесь проблема, которая поражает меня.Это очень простая вставка в очень простую таблицу ... что-то, что я делал тысячу раз, но почему-то здесь не работает.
По сути, я запускаю простую INSERT (черезшаблон репозитория), а затем сохранение изменений контекста.Там нет ошибок, я могу пройти через это просто отлично, но записи просто нет в базе данных.
В интересах (надеюсь) прикрыть мою задницу от глупости: я знаю, что я подключен к правильной базе данных, потому что она очень хорошо выбирает начальные данные (и в моем приложении только 1 строка подключения).Кроме того, я знаю, что база данных не перестраивается каждый раз.
Вот код вызова:
var result = new Core.Models.Poll
{
ElectionId = electionId,
DatePublished = pubDate,
DateCreated = DateTime.Now,
NameEn = nameEn,
NameFr = nameFr,
Params = splitVals,
Url = url,
Slug = String.Empty
};
Components.PollRepository.Insert(result);
Components.PollRepository.Save();
А вот методы в хранилище:
public void Insert(Poll poll)
{
Context.Polls.Add(poll);
}
public void Save()
{
Context.SaveChanges();
}
В строке Context.Polls.Add(poll);
я проверяю свой объект ... когда я вручную запускаю оператор вставки в SSMS, используя значения в опросе, запись создается без проблем.Когда я запускаю Context.Entry(poll)
на следующей строке (}
), то вижу, что его состояние добавлено (как и ожидалось).
Я запускаю это с помощью IIS Express на моем локальном компьютере разработчика противSQLEXPRESS.
О, и вот ключ класса Poll (я безуспешно попробовал этот атрибут DatabaseGenerated
):
[Key]
//[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
Любая помощь или что-либо еще, что можно попробовать,с благодарностью.