J'apprends MVC2 et j'essaie de créer un système de gestion des demandes de données. Un peu comme un système de billetterie. Une petite question, dans ma classe de contrôleur mvc J'ai un post-créerLinq to SQL insert - ID n'incrémentant pas
[HttpPost]
public ActionResult Create(Request request)
{
if (ModelState.IsValid)
{
try
{
// TODO: Add insert logic here
var db = new DB();
db.Requests.InsertOnSubmit(request);
db.SubmitChanges();
return RedirectToAction("Index");
}
catch
{
return View(request);
}
}
else
{
return View(request);
}
}
Ok, ce qui est extrêmement assez simple, bien ajouter mon point de vue et une fois que je crée une ligne que je reçois le 0 premier dans ma clé primaire rangée. Ensuite, il ne s'incrémentera plus, je vais ajouter une autre ligne et la capture me ramène à la même vue que je suis. Il semble que la clé primaire int n'incrémente pas.
Comment incrémenter automatiquement l'ID (type int) ici? Je suis un peu confus pourquoi MVC ne gère pas cela car c'est le type de clé primaire int. Il ne fera que la première ligne avec l'id = 0 et c'est tout.
Cela ne me semble pas un problème de MVC - quelle technologie de base de données utilisez-vous? –
@central - J'ai édité les balises sur votre question d'asp.net-mvc à linq-to-sql parce que votre question et sa cause est au niveau de la base de données. Btw - vous devez marquer la colonne ID dans votre tableau en tant qu'IDENTITY (1,1) - ou ouvrir SSMS et définir le drapeau Identity. –
Actuellement à développer, j'utilise SQL Express avec seulement l'Explorateur de Serveur dans VS2010 à gérer. Et merci Andras Zoltan qui est un tag linq to sql. Fait du sens à propos de l'étiquette d'identité, va le comprendre dès maintenant dans VS. -edit. Assez facile sous les propriétés de la colonne dans 2k10 VisualStudio, «Identity Specification» - (est l'identité) est changé en «Oui» – central