Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O All operador retorna true se todos os elementos de uma sequência satisfizerem uma condição.
O Any operador retorna true se qualquer elemento em uma sequência satisfizer uma condição.
Exemplo 1
O exemplo a seguir retorna uma sequência de clientes que têm pelo menos um pedido. A cláusula Where/where resulta em true se o Customer dado tiver algum Order.
var OrdersQuery =
from cust in db.Customers
where cust.Orders.Any()
select cust;
Dim OrdersQuery = _
From cust In db.Customers _
Where cust.Orders.Any() _
Select cust
Exemplo 2
O código do Visual Basic a seguir determina a lista de clientes que não fizeram pedidos e garante que, para cada cliente nessa lista, um nome de contato seja fornecido.
Public Sub ContactsAvailable()
Dim db As New Northwnd("c:\northwnd.mdf")
Dim result = _
(From cust In db.Customers _
Where Not cust.Orders.Any() _
Select cust).All(AddressOf ContactAvailable)
If result Then
Console.WriteLine _
("All of the customers who have made no orders have a contact name")
Else
Console.WriteLine _
("Some customers who have made no orders have no contact name")
End If
End Sub
Function ContactAvailable(ByVal contact As Object) As Boolean
Dim cust As Customer = CType(contact, Customer)
Return (cust.ContactTitle Is Nothing OrElse _
cust.ContactTitle.Trim().Length = 0)
End Function
Exemplo 3
O exemplo de C# a seguir retorna uma sequência de clientes cujos pedidos têm um ShipCity início com "C". Também estão incluídos na devolução os clientes que não têm encomendas. (Por design, o operador All retorna true para uma sequência vazia.) Os clientes sem pedidos são eliminados da saída do console usando o operador Count.
var custEmpQuery =
from cust in db.Customers
where cust.Orders.All(o => o.ShipCity.StartsWith("C"))
orderby cust.CustomerID
select cust;
foreach (Customer custObj in custEmpQuery)
{
if (custObj.Orders.Count > 0)
Console.WriteLine($"CustomerID: {custObj.CustomerID}");
foreach (Order ordObj in custObj.Orders)
{
Console.WriteLine($"\t OrderID: {ordObj.OrderID}; ShipCity: {ordObj.ShipCity}");
}
}