@@ -408,15 +408,18 @@ public virtual async Task<Response> DeleteAsync(CancellationToken cancellationTo
408408 /// </summary>
409409 /// <param name="partitionKey">The partitionKey that identifies the table entity.</param>
410410 /// <param name="rowKey">The rowKey that identifies the table entity.</param>
411+ /// <param name="select">Selects which set of entity properties to return in the result set.</param>
411412 /// <param name="cancellationToken">A <see cref="CancellationToken"/> controlling the request lifetime.</param>
412413 /// <returns>The <see cref="Response"/> indicating the result of the operation.</returns>
413414 /// <exception cref="RequestFailedException">Exception thrown if the entity doesn't exist.</exception>
414415 /// <exception cref="ArgumentNullException"><paramref name="partitionKey"/> or <paramref name="rowKey"/> is null.</exception>
415- public virtual Response < T > GetEntity < T > ( string partitionKey , string rowKey , CancellationToken cancellationToken = default ) where T : class , ITableEntity , new ( )
416+ public virtual Response < T > GetEntity < T > ( string partitionKey , string rowKey , IEnumerable < string > select = null , CancellationToken cancellationToken = default ) where T : class , ITableEntity , new ( )
416417 {
417418 Argument . AssertNotNull ( "message" , nameof ( partitionKey ) ) ;
418419 Argument . AssertNotNull ( "message" , nameof ( rowKey ) ) ;
419420
421+ string selectArg = select == null ? null : string . Join ( "," , select ) ;
422+
420423 using DiagnosticScope scope = _diagnostics . CreateScope ( $ "{ nameof ( TableClient ) } .{ nameof ( GetEntity ) } ") ;
421424 scope . Start ( ) ;
422425 try
@@ -425,7 +428,7 @@ public virtual async Task<Response> DeleteAsync(CancellationToken cancellationTo
425428 _table ,
426429 partitionKey ,
427430 rowKey ,
428- queryOptions : new QueryOptions ( ) { Format = _format } ,
431+ queryOptions : new QueryOptions ( ) { Format = _format , Select = selectArg } ,
429432 cancellationToken : cancellationToken ) ;
430433
431434 var result = ( ( Dictionary < string , object > ) response . Value ) . ToTableEntity < T > ( ) ;
@@ -443,15 +446,18 @@ public virtual async Task<Response> DeleteAsync(CancellationToken cancellationTo
443446 /// </summary>
444447 /// <param name="partitionKey">The partitionKey that identifies the table entity.</param>
445448 /// <param name="rowKey">The rowKey that identifies the table entity.</param>
449+ /// <param name="select">Selects which set of entity properties to return in the result set.</param>
446450 /// <param name="cancellationToken">A <see cref="CancellationToken"/> controlling the request lifetime.</param>
447451 /// <returns>The <see cref="Response"/> indicating the result of the operation.</returns>
448452 /// <exception cref="RequestFailedException">Exception thrown if the entity doesn't exist.</exception>
449453 /// <exception cref="ArgumentNullException"><paramref name="partitionKey"/> or <paramref name="rowKey"/> is null.</exception>
450- public virtual async Task < Response < T > > GetEntityAsync < T > ( string partitionKey , string rowKey , CancellationToken cancellationToken = default ) where T : class , ITableEntity , new ( )
454+ public virtual async Task < Response < T > > GetEntityAsync < T > ( string partitionKey , string rowKey , IEnumerable < string > select = null , CancellationToken cancellationToken = default ) where T : class , ITableEntity , new ( )
451455 {
452456 Argument . AssertNotNull ( "message" , nameof ( partitionKey ) ) ;
453457 Argument . AssertNotNull ( "message" , nameof ( rowKey ) ) ;
454458
459+ string selectArg = select == null ? null : string . Join ( "," , select ) ;
460+
455461 using DiagnosticScope scope = _diagnostics . CreateScope ( $ "{ nameof ( TableClient ) } .{ nameof ( GetEntity ) } ") ;
456462 scope . Start ( ) ;
457463 try
@@ -460,7 +466,7 @@ public virtual async Task<Response> DeleteAsync(CancellationToken cancellationTo
460466 _table ,
461467 partitionKey ,
462468 rowKey ,
463- queryOptions : new QueryOptions ( ) { Format = _format } ,
469+ queryOptions : new QueryOptions ( ) { Format = _format , Select = selectArg } ,
464470 cancellationToken : cancellationToken ) . ConfigureAwait ( false ) ;
465471
466472 var result = ( ( Dictionary < string , object > ) response . Value ) . ToTableEntity < T > ( ) ;
0 commit comments