自动增量问题:无法修改列.[列名=用户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]
您可以在密钥上尝试[DatabaseGenerated(DatabaseGeneratedOption.Identity)],如下所示:
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int SheetId { get; set; }
我只删除了我的,就解决了这个问题。EDMX上下文文件,并重新创建它,瞧,它工作了!!也感谢你们的努力伙计们
删除键上的[必需];
[Key]
public int SheetId { get; set; }