自动增量问题:无法修改列.[列名=用户ID]

本文关键字:列名 用户 ID 修改 问题 | 更新日期: 2023-09-27 18:25:23

我目前正在使用ASP。NET MVC4,并尝试向以CCD_ 1为主关键字的表添加新条目。我知道身份问题并将其设置为true,我也知道GUID,但它们用于唯一标识符,而不是整数。

在这里,我添加了一个新行,因为我知道我的主键是一个名为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; }
}

这是我得到的例外

异常详细信息:系统。数据SqlServerCe。SqlCeException:无法修改列。[列名=SheetId]

自动增量问题:无法修改列.[列名=用户ID]

您可以在密钥上尝试[DatabaseGenerated(DatabaseGeneratedOption.Identity)],如下所示:

[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int SheetId { get; set; }

我只删除了我的,就解决了这个问题。EDMX上下文文件,并重新创建它,瞧,它工作了!!也感谢你们的努力伙计们

删除键上的[必需];

[Key]
public int SheetId { get; set; }