现实世界的应用程序可能经常需要过滤数据,而不是简单地查询主键。 使用 LINQ 可以根据您在运行时使用的任何自定义逻辑轻松地从数据库检索数据。 所以, NCache 支持 LINQ 查询,它允许您以查询数据库的相同方式查询分布式缓存。
LINQ 是一种通用的 .NET 查询语言,允许您从数据源中搜索和筛选数据。 LINQ语法与SQL非常相似,但在功能上,它为您在查询时提供了更好、更优化的查询方法。 NCache 服务器。 它提供了允许更有效的查询表达式的能力,同时满足代码编译期间的语法检查。
NCache 通过 LINQ 提供程序无缝集成 LINQ 以查询缓存中的信息。 链接提供程序有助于在分布式缓存上执行 LINQ 查询,同时提高应用程序的性能,而无需更改 LINQ 对象模型。
NCache 支持 LINQ 语言的基本查询表达式来搜索缓存数据。 他们是:
IQueryable<Product> products = new NCacheQuery<Product>(cache);
IQueryable<Product> product = products.Select(p => p).Where(p => p. UnitsInStock > 10);
IQueryable<Product> products = new NCacheQuery<Product>(cache);
IQueryable<Product> product = from prod in products
where prod.UnitsInStock > 10
select prod;
LINQ 运算符是提供查询功能(如投影、聚合、过滤和排序)的扩展方法。 在这些运营商中, NCache 支持下面提到的那些:
IQueryable<Product> product = products.Select(prod => prod);
IQueryable<Product> product = products.Select(prod => prod).Where(prod => prod.UnitsInStock > 10);
NCache 支持带有 LINQ 查询的基本查询运算符,例如:
请参阅 LINQ 查询运算符 对于这些运算符的使用。
NCache LINQ 支持两个逻辑运算符 - AND (&&) 和 OR (||) 运算符。 这些运算符组合了两个或多个缓存搜索的限制条件。 遵循我们的 LINQ 指南 逻辑运算符 详细了解它们的用法。
NCache 支持以下聚合运算符:
以下是如何使用聚合函数搜索缓存数据并统计结果的示例:
int count = products.Select(p => p).Where(prod => prod.UnitsInStock <= 50).Count();
了解聚合运算符的用法 NCache 从我们的指南 LINQ 聚合运算符.
NCache 支持 LINQ 表达式中的多个通配符。 这些通配符运算符是:
以下是使用带有限制的通配符的示例,其中运算符在缓存中搜索特定数据集:
IQueryable<Product> product = products.Select(p => p).Where(p => p.ProductName.StartsWith("Be"));
请参阅我们的文档 LINQ 通配符运算符 了解更多。
LINQPad 是一个第三方工具,用于使用查询和 lambda 表达式交互式查询 SQL 数据库,并在没有任何 IDE 的情况下编写 C# 代码。 NCache 支持与 LINQPad 实用程序无缝集成,以提高数据分析和应用程序性能。 要在 LINQPad 中处理查询, NCache LINQ 提供程序使用 NCacheContext 类,它是 .NET framework的 IQueryable 接口。
IQueryable<Product> product = new NCacheContext<Product>("myPartitionedCache");
IQueryable<Product> products = from prod in product
where prod.UnitsInStock > 50
select prod;
products.Dump();
在 LINQPad 中运行此脚本将创建一个 LINQ 对象产品来查询 UnitsInStock 大于 50 的产品。
要了解有关如何使用 LINQPad 查询缓存中数据的更多信息,请参阅我们的文档 使用 LINQPad 查询缓存中的数据,并在中配置 LINQPad NCache 对于您自己,请按照中提供的步骤进行操作 为 LINQPad 配置 NCache.