Salut, je suis nouveau à MVC et EF donc c'est une question très simple, mais quel est le meilleur moyen d'empêcher l'utilisateur d'essayer d'entrer des enregistrements en double?MVC Entity Framework validation pour éviter les enregistrements en double
J'ai une simple table de consultation avec une colonne qui est la clé primaire. Je crée un écran de maintenance afin que les administrateurs puissent ajouter des éléments supplémentaires à la liste de recherche. Mon contrôleur ressemble à:
public ActionResult Index(string NewRow)
{
try
{
CaseType t = new CaseType { ID = NewRow };
if (ModelState.IsValid)
{
UOW.CaseTypes.Add(t);
UOW.Save();
}
}
catch (Exception ex)
{
ModelState.AddModelError("", ex.Message);
}
return View(UOW.CaseTypes.All());
}
qui arrête les enregistrements en double et arrête l'écran jaune de la mort, mais le message affiché est: « Une erreur est survenue lors de l'actualisation des entrées Voir l'exception interne pour plus de détails. ». ce qui n'est pas bon pour les utilisateurs.
Je me demandais juste s'il y avait une meilleure façon d'attraper l'erreur.
Hmm ... ma réponse ne vous aidera pas? –
excellent merci, et je prévoyais de supprimer l'écran d'erreur son juste en développement en ce moment, mais merci pour la pointe supérieure. – Jammy
Salut, je viens de me débrouiller avec ça et même si votre code est utile, il ne réalise pas ce que je cherchais. Il semble juste chercher un champ dans les données de forme et ajouter un message de validation.Je cherchais un moyen de vérifier les doublons, par exemple si j'ai déjà le cas "22" dans la table et à un moment donné un utilisateur essaie de créer un autre "22" le système devrait dire "Désolé c'est un doublon" plutôt que "bam" écran jaune de la mort. Je me demandais juste si je devrais d'abord lancer une recherche sur les données ou attraper l'erreur qui est moins de pression sur le serveur? – Jammy