Linq to Entities - PullRequest
       5

Linq to Entities

0 голосов
/ 12 мая 2011

Как избавиться от «Если тогда еще»?

  If qShoppingCartByCartID.Invoke(_context).Count > 0 Then
            Return qShoppingCartByCartID.Invoke(_context).Select(Function(x) x.Products.UnitCost - x.Products.SalePrice).Sum
        Else
            Return 0
        End If

1 Ответ

0 голосов
/ 12 мая 2011

Если список пуст, Sum () вернет null - так что вы можете просто вернуть сумму:

  Return qShoppingCartByCartID.Invoke(_context).Select(Function(x) x.Products.UnitCost - x.Products.SalePrice).Sum()

В C # вы также можете использовать ??, чтобы превратить это в нольвместо нуля, если вы хотите

  return qShoppingCartByCartID....Sum() ?? 0;

Я не пользователь VB, но похоже, что вы можете сделать то же самое нулевое объединение в VB, используя If - см. Есть ли VB.NET эквивалент для C # 's' ?? 'оператор?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...