Gemstone Data Library
Show/Hide TOC

# SecureTableOperations T QueryRecordAsync(ClaimsPrincipal, String, RecordRestriction, CancellationToken) Method

Queries database and returns a single modeled table record for the specified restriction, execution of query will apply orderByExpression.

## Definition

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

    public ValueTask<T> QueryRecordAsync(
    	ClaimsPrincipal principal,
    	string? orderByExpression,
    	RecordRestriction? restriction,
    	CancellationToken cancellationToken
    )

VB
View Source Request Example

    Public Function QueryRecordAsync (
    	principal As ClaimsPrincipal,
    	orderByExpression As String,
    	restriction As RecordRestriction,
    	cancellationToken As CancellationToken
    ) As ValueTask(Of T)

C++
View Source Request Example

    public:
    ValueTask<T> QueryRecordAsync(
    	ClaimsPrincipal^ principal,
    	String^ orderByExpression,
    	RecordRestriction^ restriction,
    	CancellationToken cancellationToken
    )

JavaScript
View Source Request Example

    function QueryRecordAsync(principal, orderByExpression, restriction, cancellationToken);

#### Parameters

principal ClaimsPrincipal
  Claims principal which is making the request.
orderByExpression String
  Field name expression used for sort order, include ASC or DESC as needed - does not include ORDER BY; defaults to primary keys.
restriction RecordRestriction
  Record restriction to apply.
cancellationToken CancellationToken
  Propagates notification that operations should be canceled.

#### Return Value

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

## Remarks

If no record is found for specified restriction, null will be returned.

This is a convenience call to QueryRecords(String, RecordRestriction, Int32) specifying the RecordRestriction parameter with a limit of 1 record.

If any of the restriction 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.

## See Also

#### Reference

SecureTableOperationsT Class
QueryRecordAsync Overload
Gemstone.Data.Model Namespace