LINQ Reference for NCache
Note
This feature is only available in NCache Enterprise Edition.
NCache supports both Query and Lambda execution for LINQ. This page provides sample queries for supported operators for each execution type.
First, keep in mind that the following are not currently supported by NCache LINQ Provider:
Nested
queriesORDER BY
operatorGROUP BY
operatorJOIN
operator
The syntax will usually appear as follows:
FROM [Object] IN [List]
WHERE [Conditionn]
SELECT [Object]
The following examples assume a Product class object which contains ProductID, ProductName and Category attributes.
Note that the examples in Query expressions are alternative to Lambda expression queries, and vice versa.
Projection Operators
Operator(s) | Examples |
---|---|
select |
Query: from product in products select product; Lambda: products.Select(p => p); |
Restriction Operators
Operator(s) | Examples |
---|---|
where |
Query: from product in products where product.ProductID == 1001 select product; Lambda: products.Where(p => p.ProductID == 1001); |
Basic Query Operators
Operator(s) | Examples |
---|---|
== |
Query: from product in products where product.ProductID == 1001 select product; Lambda: products.Select(p => p).Where(p => p.ProductID == 1001); |
!= |
Query: from product in pproducts where product.ProductID != 1001 select product; Lambda: products.Select(p => p).Where(p => p.ProductID != 1001); |
< |
Query: from product in products where product.ProductID < 1001 select product; Lambda: products.Select(p => p).Where(p => p.ProductID < 1001); |
> |
Query: from product in products where product.ProductID > 1001 select product; Lambda: products.Select(p => p).Where(p => p.ProductID > 1001); |
<= |
Query: from product in products where product.ProductID <= 1001 select product; Lambda: products.Select(p => p).Where(p => p.ProductID <= 1001); |
>= |
Query: from product in products where product.ProductID >= 1001 select product; Lambda: products.Select(p => p).Where(p => p.ProductID >= 1001); |
Logical Operators
Operator(s) | Examples |
---|---|
&& |
Query: from product in products where product.ProductID >= 1001 && product.ProductName == "Chai" select product; Lambda: products.Select(p => p).Where(p => p.ProductID >= 1001 && p.ProductName == "Chai"); |
|| |
Query: from product in products where product.ProductID == 1001 || product.ProductName == "Chai" select product; Lambda: products.Select(p => p).Where(p => p.ProductID >= 1001 || p.ProductName == "Chai"); |
Aggregation Operators
Operator(s) | Examples |
---|---|
Count |
Query: (from product in products where product.Category == "Beverages" select product).Count(); Lambda: products.Select(p => p).Where(p => p.Category == "Beverages").Count(); |
Max |
Query: (from product in products where product.Category == "Beverages" select product.ProductID).Max(); Lambda: products.Where(p => p.Category == "Beverages").Max(p => p.ProductID); |
Min |
Query: (from product in products where product.Category == "Beverages" select product.ProductID).Min(); Lambda: products.Where(p => p.Category == "Beverages").Min(p => p.ProductID); |
Average |
Query: (from product in products where product.ProductID < 1010 select product.ProductID).Average(); Lambda: products.Where(p => p.ProductID > 1001).Average(p => p.ProductID); |
Sum |
Query: (from product in products where product.ProductID <= 1010 select product.ProductID).Sum(); Lambda: products.Where(p => p.ProductID > 1001).Sum(p => p.ProductID); |
Wildcard Operators
Operator(s) | Example |
---|---|
StartsWith |
Query: from product in products where product.Category.StartsWith("Be") select product; Lambda: products.Select(p => p).Where(p => p.Category.StartsWith("Be")); |
EndsWith |
Query: from product in products where product.Category.EndsWith("ages") select product; Lambda: products.Select(p => p).Where(p => p.Category.EndsWith("ages")); |
Contains |
Query: from product in products where product.Category.Contains("Bever") select product; Lambda: products.Select(p => p).Where(p => p.Category.Contains("Bever")); |
Equals |
Query: from product in products where product.Category.Equals("Beverages") select product; Lambda: products.Select(p => p).Where(p => p.Category.Equals("Beverages")); |
See Also
Query Objects with LINQ
Configure LINQPad for NCache
Event Notifications in Cache