메소드 ExecuteReader
ExecuteReader(QueryCommand, 부울, Int32)
지정된 쿼리를 기반으로 캐시에서 검색을 수행합니다. 쿼리 기준을 충족하는 데이터 판독기의 키-값 쌍 목록을 반환합니다. 이 키-값 쌍에는 캐시 키와 해당 값이 있습니다. 키가 있는 데이터를 원하는지 여부를 지정하기 위한 플래그를 지정할 수 있습니다.
선언
ICacheReader ExecuteReader(QueryCommand queryCommand, bool getData = true, int chunkSize = -1)
파라미터
타입 | 성함 | 상품 설명 |
---|---|---|
쿼리 명령 | 쿼리 명령 | 쿼리 명령 쿼리 텍스트와 값을 포함합니다. |
시스템.부울 | 데이터 가져오기 | 결과 값이 키와 함께 반환되어야 하는지 여부를 나타내는 플래그입니다. |
시스템.Int32 | 청크 크기 | 검색 후 수신된 데이터/키 패킷의 크기, 기본값은 512*1024KB입니다. |
반품
타입 | 상품 설명 |
---|---|
ICacheReader | 캐시에서 실행된 쿼리 결과 집합의 정방향 전용 스트림을 읽습니다. |
비고
이러한 연산자는 다음에서 지원됩니다. NCache 검색어
- 비교 연산자 = , == , != , <> , < , > , <=, >=, IN
- 논리 연산자 AND , OR , NOT
- 기타() , DateTime.Now , DateTime("모든 날짜 시간 호환 문자열")
예
ICache cache = CacheManager.GetCache("demoCache");
Product 대신 사용자 정의 클래스의 완전한 이름을 지정하십시오.
string query = "SELECT Product where this.ProductName = ?";
QueryCommand queryCommand = new QueryCommand(query);
queryCommand.Parameters.Add("ProductName", "Chai");
queryCommand.Parameters.Add("UnitsInStock", 250);
try
{
ICacheReader reader = cache.SearchService.ExecuteReader(queryCommand, true, 50);
if (reader.FieldCount > 0)
{
while (reader.Read())
{
object category = reader.GetValue<object>(0);
//perform operations
}
}
else
{
//perform operations
}
reader.Close();
}
catch
{
//handle exception
}