Je travaille sur une application de commande sandwich dans ASP.NET MVC, C# et LINQ to SQL. L'application tourne autour de l'utilisateur créant plusieurs sandwichs faits sur mesure à partir d'une sélection d'ingrédients. Quand il s'agit de confirmer la commande, j'ai besoin de savoir qu'il y a assez de portions de chaque ingrédient pour remplir tous les sandwiches dans l'ordre de l'utilisateur avant de m'engager dans la DB, car il est possible qu'un ingrédient soit épuisé. en l'ajoutant à leur panier et en confirmant la commande.LINQ to SQL: Problème de concurrence
Un peu sur la base de données:
Ingrédients - Détails ingrédient de magasins, y compris nombre de portions
ordre - Table d'en-tête pour un ordre, ne fait qu'enregistrer le temps de commande
OrderDetail - Enregistre une enregistrement de chaque sandwich dans une commande
OrderDetailItem - Enregistre chaque ingrédient dans chaque sandwich dans une commande
Donc, fondamentalement, je me demande quelle est la meilleure approche pour m'assurer qu'avant d'ajouter des enregistrements à Order, OrderDetail et OrderDetailItem, je peux m'assurer que la commande peut être satisfaite.
Vous avez une condition de concurrence inhérente, toute solution est sur les compromis possibles que différentes approches vous donnent. – Richard