gpt4 book ai didi

c# - WCF 服务中无法在表 '' 错误中插入标识列的显式值

转载 作者:行者123 更新时间:2023-11-29 21:22:15 25 4
gpt4 key购买 nike

问题

<小时/>

我希望当我向表中添加一行时,我的 SQL 数据库表主键 ID 自动递增 1。

我正在使用 WCF 服务,在 DAL(数据访问层)中,我尝试向数据库中添加一行,但它始终将“0”作为主键 ID 传入。

代码

<小时/>

这是我的 DAL,您可以看到我正在设置所有值。 注意 HOLIDAY_ID 是 SQL 表的递增 ID,我没有向其传递任何值:

public void AddHoliday(string STARTDATE, string ENDDATE)
{

HOLIDAY_EVENT _newHolidayEvent = new HOLIDAY_EVENT
{
USER_ID = 1,
HOLIDAY_TITLE = "Test1",
HOLIDAY_START = Convert.ToDateTime(STARTDATE),
HOLIDAY_END = Convert.ToDateTime(ENDDATE),
HOLIDAY_EVENT_STATE_ID = 2
};

_ENTITY.HOLIDAY_EVENT.Add(_newHolidayEvent);
_ENTITY.SaveChanges();
}

这是我的 SQL 表的设计:

enter image description here

这是我设置 HOLIDAY_ID 增量的方法:

enter image description here

结论

<小时/>

在我的 DAL 中,我需要将什么传递给 HOLIDAY_ID 才能使 ID 自动递增?

最佳答案

您是否在模型中设置了DatabaseGenerate(DatabaseGenerateOption.Identity)

例如:

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

HOLIDAY_ID 应在 SaveChanges() 调用后可用。

关于c# - WCF 服务中无法在表 '' 错误中插入标识列的显式值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35667833/

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