В настоящее время я использую ASP.NET MVC4 и пытаюсь добавить новую запись в таблицу с Integer
в качестве первичного ключа. Я знаю об ошибке идентификации и устанавливаю ее в true, я также знаю о GUID, но они используются для уникальных идентификаторов, а не целых чисел.Ошибка автоинкремента: колонку нельзя изменить. [Имя столбца = UserId]
Вот где я добавить новую строку, зная, что мой первичный ключ столбец с именем SheetId
if (ModelState.IsValid)
{
var sheet = db.Sheets.Create();
sheet.Email = Request.Cookies["UserInfo"]["Email"];
sheet.ApprovedDays = "0000000";
sheet.DateStarted = DateTime.Now;
db.Sheets.Add(sheet);
db.SaveChanges();
return RedirectToAction("Index", "Home");
}
И это лист Модель
public class Sheet
{
[Key]
[Required]
public int SheetId { get; set; }
[Required]
public DateTime StartDate { get; set; }
[Required]
public string Email { get; set; }
public string ApprovedDays { get; set; }
//
public virtual UserModel UserModel { get; set; }
public virtual ICollection<Task> Task { get; set; }
}
И это исключение я получаю
Сведения об исключении: System.Data.SqlServerCe.SqlCeException: этот столбец нельзя изменить. [Название колонки = SheetId]
Как выглядит модель «Лист» для столбца «SheetId»? –
Вероятно, db.Sheets.Create() назначит значение SheetId, но база данных исключает пустое значение, поэтому его можно автогенерировать. –
@Joachim Isaksson: Я добавил модель листа – Osama