Instructions LINQ CASE : un examen plus approfondi
Dans les requêtes LINQ, l'instruction CASE fournit un moyen concis d'évaluer plusieurs conditions et de renvoyer différentes valeurs en fonction des résultats. Comprendre comment utiliser efficacement les instructions CASE est essentiel pour écrire des requêtes LINQ complexes.
Dans votre cas spécifique, vous essayez d'utiliser une instruction CASE pour mettre à jour l'état des stocks des articles de « production » à « site de commerce ». Bien que votre code sélectionne correctement les articles avec des indicateurs portables définis sur "Y" et le stock disponible, il n'implémente pas l'instruction CASE.
Pour incorporer l'instruction CASE dans LINQ, vous pouvez utiliser l'opérateur conditionnel ternaire ( ? :), qui vous permet d'évaluer une condition et de renvoyer différentes valeurs en fonction du résultat. La syntaxe de l'opérateur conditionnel ternaire est :
condition ? value_if_true : value_if_false
Dans votre cas, l'instruction CASE peut être exprimée dans LINQ comme suit :
cdsDBDataContext db = new cdsDBDataContext(); var query = from items in db.cdsItems where items.ItemHandHeldFlag.Equals("Y") select new { Items = items, ProductsQuantity = items.ItemQtyOnHand - items.ItemQtyCommitted > 0 ? 100000 : 0 };
Cette requête met à jour la propriété "ProductsQuantity" de chaque élément du jeu de résultats en fonction des conditions de l'instruction CASE. Si l'article a un niveau de stock disponible positif, la « Quantité de produits » est fixée à 100 000 ; sinon, il est mis à 0.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!