Gemstone Data Library
Show/Hide TOC

# TableOperations T QueryRecordsWhereAsync Method

Queries database and returns modeled table records for the specified SQL filter expression and parameters.

## Definition

Namespace: Gemstone.Data.Model
Assembly: Gemstone.Data (in Gemstone.Data.dll) Version: 1.0.178 -- Release Build+ff8c4ec86648cef21d788c1ae4346eaec7de7ef3
C#
View Source Request Example

    public IAsyncEnumerable<T> QueryRecordsWhereAsync(
    	string? filterExpression,
    	CancellationToken cancellationToken,
    	params Object?[] parameters
    )

VB
View Source Request Example

    Public Function QueryRecordsWhereAsync (
    	filterExpression As String,
    	cancellationToken As CancellationToken,
    	ParamArray parameters As Object()
    ) As IAsyncEnumerable(Of T)

C++
View Source Request Example

    public:
    IAsyncEnumerable<T>^ QueryRecordsWhereAsync(
    	String^ filterExpression,
    	CancellationToken cancellationToken,
    	... array<Object^>^ parameters
    )

JavaScript
View Source Request Example

    function QueryRecordsWhereAsync(filterExpression, cancellationToken, ... parameters);

#### Parameters

filterExpression String
  Filter SQL expression for restriction as a composite format string - does not include WHERE. When escaping is needed for field names, use standard ANSI quotes.
cancellationToken CancellationToken
  Propagates notification that operations should be canceled.
parameters Object
  Restriction parameter values.

#### Return Value

IAsyncEnumerable T
An enumerable of modeled table row instances for queried records.

## Remarks

Each indexed parameter, e.g., "{0}", in the composite format filterExpression will be converted into query parameters where each of the corresponding values in the parameters collection will be applied as IDbDataParameter values to an executed IDbCommand query.

If any of the specified parameters reference a table field that is modeled with either an EncryptDataAttribute or FieldDataTypeAttribute, then the function GetInterpretedFieldValue(String, Object) will need to be called, replacing the target parameter with the returned value so that the field value will be properly set prior to executing the database function.

If needed, field names that are escaped with standard ANSI quotes in the filter expression will be updated to reflect what is defined in the user model.

This is a convenience call to QueryRecords(String, RecordRestriction, Int32) only specifying the RecordRestriction parameter.

## See Also

#### Reference

TableOperationsT Class
Gemstone.Data.Model Namespace