Gemstone Data Library
Show/Hide TOC

# SecureTableOperations T QueryRecordWhereAsync Method

Queries database and returns a single modeled table record for the specified SQL filter expression and parameters.

## Definition

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

    public ValueTask<T> QueryRecordWhereAsync(
    	ClaimsPrincipal principal,
    	string? filterExpression,
    	CancellationToken cancellationToken,
    	params Object?[] parameters
    )

VB
View Source Request Example

    Public Function QueryRecordWhereAsync (
    	principal As ClaimsPrincipal,
    	filterExpression As String,
    	cancellationToken As CancellationToken,
    	ParamArray parameters As Object()
    ) As ValueTask(Of T)

C++
View Source Request Example

    public:
    ValueTask<T> QueryRecordWhereAsync(
    	ClaimsPrincipal^ principal,
    	String^ filterExpression,
    	CancellationToken cancellationToken,
    	... array<Object^>^ parameters
    )

JavaScript
View Source Request Example

    function QueryRecordWhereAsync(principal, filterExpression, cancellationToken, ... parameters);

#### Parameters

principal ClaimsPrincipal
  Claims principal which is making the request.
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

ValueTask T
A single modeled table record for the queried record.

## Remarks

If no record is found for specified filter expression and parameters, null will be returned.

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) specifying the RecordRestriction parameter with a limit of 1 record.

## See Also

#### Reference

SecureTableOperationsT Class
Gemstone.Data.Model Namespace