J'utilise la base de données Oracle 11g. De nombreuses tables créées dans la base de données et l'indexeur sont appliquées sur la clé primaire. Après cela, j'ai utilisé Entity Framework 5.0 pour se connecter à la base de données. Le problème est que, lorsque je sauvegarde un enregistrement dans une table, il n'envoie pas de clé primaire qui est une valeur auto incrémentée.Edmx ne retourne pas la valeur auto incrémentée
public HttpResponseMessage PostCategory(TBLCATEGORY tblcategory)
{
if (ModelState.IsValid)
{
db.TBLCATEGORies.Add(tblcategory);
db.SaveChanges();
int32 ID=tblcategory.ID;
return ID;
}
}
il renvoie ID = 0; Et encore une chose, tout en créant une colonne Integer dans Oracle, il montre décimal dans Entity Framework.
Vous n'avez pas confondu GET et POST avez-vous? Si vous publiez alors vous pourriez manquer l'attribut HttpPost? –
Ron, Merci pour la réponse. J'utilise webApi en mvc, donc si nous postons une méthode, il suffit de préfixer Post avant le nom de la méthode. AUCUN besoin de définir la méthode GET et Post séparément. Et je ne le pense pas, cela affecte la mise à jour d'edmx car elle enregistre des données dans la base de données. Et il devrait retourner la clé primaire. –
Juste pour s'assurer que cette méthode est bien la méthode invoquée. Est-il spécifique à cette table? Est-ce que ça marche pour d'autres tables? –