簡體   English   中英

無法在WCF服務的表''錯誤中為標識列插入顯式值

[英]Cannot insert explicit value for identity column in table '' error in WCF service

問題


當我向表中添加一行時,我希望我的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表的設計:

在此處輸入圖片說明

這是我設置HOLIDAY_ID增量的方法:

在此處輸入圖片說明

結論


在我的DAL中,我需要傳遞給HOLIDAY_ID以便ID自動遞增嗎?

您是否在模型中設置了DatabaseGenerated(DatabaseGeneratedOption.Identity)

例如:

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

SaveChanges()調用之后, HOLIDAY_ID應該可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM