EF: Impossible d'insert la valeur NULL dans la colonne "ID"

Essayer d'insert une ligne dans ma database en utilisant Entity Framework. J'affecte toutes les valeurs lors de l'insertion sauf ID, qui est la key primaire, et je voudrais qu'il soit auto-incrémenté par la database SQL Server.

Ma définition / class de table:

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; } } 

Lorsque j'appelle la méthode SaveChanges() , j'obtiens une erreur

Impossible d'insert la valeur NULL dans la colonne "ID"

Comment puis-je get cette colonne pour auto-incrémenter elle-même? Je ne voudrais pas avoir à me soucier de garder une trace de l' ID et de l'assigner moi-même.

J'essaie d'utiliser l'approche du code d'abord. Voici un exemple d'une partie de mon tree de décision pour les insertions / mises à jour:

 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(); 

Je qualifierai plus loin en mentionnant que mon model utilise une database existante d'un produit de logiciel.

Définir ID comme int? ID int? ID . Avec ? la variable acceptera null .