LINQ CASE 语句:仔细观察
在 LINQ 查询中,CASE 语句提供了一种简洁的方法来评估多个条件并返回不同的值根据结果。了解如何有效地使用 CASE 语句对于编写复杂的 LINQ 查询至关重要。
在您的特定情况下,您尝试使用 CASE 语句将商品的库存状态从“生产”更新为“商业站点”。虽然您的代码正确选择了手持式标志设置为“Y”的商品和可用库存,但它没有实现 CASE 语句。
要在 LINQ 中合并 CASE 语句,您可以使用三元条件运算符 ( ?:),它允许您评估条件并根据结果返回不同的值。三元条件运算符的语法为:
condition ? value_if_true : value_if_false
在您的情况下,CASE 语句可以在 LINQ 中表达如下:
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 };
此查询更新“ProductsQuantity”属性根据 CASE 语句中的条件计算结果集中的每一项。如果该商品的可用库存水平为正,则“ProductsQuantity”设置为 100000;否则,它被设置为 0。
以上是如何在 LINQ 中使用 CASE 语句(或其等效语句)来更新库存状态?的详细内容。更多信息请关注PHP中文网其他相关文章!