gpt4 book ai didi

c# - MVC 配置种子方法未插入指定的主键

转载 作者:行者123 更新时间:2023-11-30 22:43:57 25 4
gpt4 key购买 nike

我正在使用 MVC 4 做一个副项目。在我的 Configuration.cs 中,我将我的 Seed 方法编码出来,除了一件事外它工作正常。该表完全是空的,其中没有任何记录。我指定我希望 PK ID 从 100001 开始用于跟踪目的。我更新了数据库并创建了记录,但 ID 的 PK 值仅为 1。如果我进行更改并再次更新它,则 ID 为 2。它没有采用我指定的 PK 值,我无法弄清楚原因。我应该能够指定我想要的任何 PK 值,只要它在数据约束范围内并且是唯一的。这是无法完成还是我遗漏了什么?您能否定义您希望 ID 从什么值开始然后从那里递增?任何帮助表示赞赏。

protected override void Seed(Helpdesk_Escalation_Tool.Models.OutageDb context)
{

context.Outages.AddOrUpdate(
new Outage
{
Id = 100001,
Site = "SL, DG",
Project = "ATT UVB, ATT RST",
Subject = "Agents cannot process orders in CRM",
StartTime = DateTime.Now,
EndTime = DateTime.Now.AddHours(2),
AgentCount = 200,
Resolved = true,
Resolution = "Client resolved issue",
Ticket = "123456789",
Downtime = 120
});
}

最佳答案

如果想要一个无标识的主键列,可以手动设置id,需要添加

[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]  this  attribute on the top of id property  

使用以下属性 (DatabaseGenerated...) 装饰您的 id 属性。

public class Sites
{
[Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
public int SiteID { get; set; }
public string Name { get; set; }
public string Tags { get; set; }
public string Description { get; set; }
public string URI { get; set; }
}

关于c# - MVC 配置种子方法未插入指定的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30205503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com