개체에 대해 LINQ 쿼리 사용
LINQ의 장점을 활용하기 위해 NCache 를 사용하여 NCache질문 구현하는 클래스 쿼리 가능 에서 제공하는 인터페이스 .NET framework. 이 통합을 통해 사용자는 LINQ 쿼리를 사용하여 개체를 쿼리할 수 있습니다.
예상되는 새 어셈블리 참조 및 네임스페이스 추가와 함께 캐시 초기화 및 앞서 언급한 인터페이스 구현 외에 LINQ 쿼리를 사용하는 데 코드 변경이 필요하지 않습니다. 나머지 코드는 애플리케이션을 변경하지 않고도 작동합니다.
LINQ 쿼리: 개체 쿼리 NCache쿼리 클래스
다음 지원되는 LINQ 연산자를 사용하여 검색할 수 있습니다. NCache 사용하는 개체 NCache질문:
아래 코드는 다음 연산자를 모두 사용하려는 방식으로 보여줍니다.
LINQ 쿼리 사용을 위한 전제 조건
LINQ 쿼리를 사용하기 전에 다음 필수 구성 요소가 충족되었는지 확인하세요.
- 모든 작업에 필요한 표준 전제 조건에 대해 알아보려면 NCache 클라이언트측 기능은 다음 페이지를 참조하세요. 클라이언트 측 API 전제 조건.
- 검색 가능한 개체에 대한 인덱싱과 해당 속성은 섹션에 설명된 대로 먼저 구성해야 합니다. 동적 인덱싱 및 쿼리 인덱스 구성 및 관리자 가이드에서.
- API 세부 정보는 다음을 참조하세요. NCache질문.
LINQ 작업
다음 코드는 NCache질문 클래스는 사용 방법을 보여주기 위해 논의한 여러 연산자를 사용합니다. NCache 링크와 함께.
쿼리 표현식 사용
// Precondition: Cache is already connected
// Create custom class LINQ object
IQueryable<Product> products = new NCacheQuery<Product>(cache);
// LINQ query to search cache
IQueryable<Product> result = from prod in products where (prod.Category == "Beverages" || prod.Category == "Dairy") && prod.UnitsInStock > 10 select prod;
if (result != null)
{
foreach (Product product in result)
{
Console.WriteLine($"Product '{product.ProductName}' in Category '{product.Category}' has stock of '{product.UnitsInStock}' units");
}
}
else
{
Console.WriteLine($"No product found");
}
람다 식 사용
// Lambda expression for same query
IQueryable<Product> result = products.Select(prod => prod).Where(prod => ((prod.Category == "Beverages" || prod.Category == "Dairy") && prod.UnitsInStock > 10));
추가 자료
NCache 에 대한 샘플 애플리케이션을 제공합니다. NCache LINQ 켜기 GitHub의.
도 참조
.그물: Alachisoft.NCache.링크 네임 스페이스.