簡體   English   中英

EF:無法將值 NULL 插入列“ID”

[英]EF: Cannot insert value NULL into column 'ID'

嘗試使用實體框架在我的數據庫中插入一行。 我在插入時分配了除主鍵 ID 之外的所有值,我希望它由 SQL Server DB 自動遞增。

我的表定義/類:

public partial class T_SurfacePick
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }

    public int? BoreholeID { get; set; }
    public int? AuthoredNameID { get; set; }
    public int? LoadFormat { get; set; }
    public double? PickDepth { get; set; }
    public int? OwningAuthorID { get; set; }
    public int? QualityID { get; set; }
    public double? CustomData { get; set; }
}

當我調用SaveChanges()方法時,出現錯誤

無法將值 NULL 插入列“ID”

如何讓此列自動遞增? 我希望不必擔心跟蹤ID並自己分配它。

我正在嘗試使用代碼優先的方法。 這是我的插入/更新決策樹的一部分示例:

if (MenefeePick == null) // New top
{
   var Pick = new T_SurfacePick { BoreholeID = Wellbore.ID, AuthoredNameID = MenefeeAN.ID, LoadFormat = 1, PickDepth = Menefee, OwningAuthorID = ProgAuthor.ID, QualityID = -1, CustomData = null };
   db.T_SurfacePick.Add(Pick);
}
else // Update top
{
    MenefeePick.PickDepth = Menefee;
}
db.SaveChanges();

我將通過提及我的模型使用來自軟件產品的現有數據庫來進一步限定。

İf Model first try 塊

[Key]
 [DatabaseGenerated(DatabaseGeneratedOption.None)]
 public Int64 PolicyID { get; set; }

ID定義為int? ID int? ID ? 該變量將接受null

暫無
暫無

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

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