public async Task <DeviceEntity> GetWithApiKeyAsync(string deviceId, string apiKey)
        {
            var keyCondition                = TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.Equal, deviceId);
            var sharedKeyCondition          = TableQuery.GenerateFilterCondition("ApiKey", QueryComparisons.Equal, apiKey);
            var finalCondition              = TableQuery.CombineFilters(keyCondition, TableOperators.And, sharedKeyCondition);
            TableQuery <DeviceEntity> query = new TableQuery <DeviceEntity>().Where(finalCondition);
            var result = await TableRef.ExecuteQuerySegmentedAsync <DeviceEntity>(query, null);

            return(result.Results.FirstOrDefault());
        }
        public override async Task <List <DeviceEntity> > GetAsync(string partitionKey)
        {
            var keyCondition                = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, partitionKey);
            var deletedNotTrueCondition     = TableQuery.GenerateFilterConditionForBool("Deleted", QueryComparisons.NotEqual, true);
            var finalCondition              = TableQuery.CombineFilters(keyCondition, TableOperators.And, deletedNotTrueCondition);
            TableQuery <DeviceEntity> query = new TableQuery <DeviceEntity>().Where(finalCondition);
            var result = await TableRef.ExecuteQuerySegmentedAsync <DeviceEntity>(query, null);

            return(result.Results);
        }