async query in cosmos db
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I'm trying to do a query in cosmos db. I want a async query. The query return me only one element. In the web I have seen how to do it when query return more than one element. This is my method:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1 };
var tenantDTO = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId)
.AsEnumerable()
.SingleOrDefault();
return tenantDTO != null ? _iTenantAssembler.DtoToEntity(tenantDTO) : null;
}
Compiler say me than it isn't async. Thanks
c# database azure-cosmosdb
add a comment |
I'm trying to do a query in cosmos db. I want a async query. The query return me only one element. In the web I have seen how to do it when query return more than one element. This is my method:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1 };
var tenantDTO = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId)
.AsEnumerable()
.SingleOrDefault();
return tenantDTO != null ? _iTenantAssembler.DtoToEntity(tenantDTO) : null;
}
Compiler say me than it isn't async. Thanks
c# database azure-cosmosdb
add a comment |
I'm trying to do a query in cosmos db. I want a async query. The query return me only one element. In the web I have seen how to do it when query return more than one element. This is my method:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1 };
var tenantDTO = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId)
.AsEnumerable()
.SingleOrDefault();
return tenantDTO != null ? _iTenantAssembler.DtoToEntity(tenantDTO) : null;
}
Compiler say me than it isn't async. Thanks
c# database azure-cosmosdb
I'm trying to do a query in cosmos db. I want a async query. The query return me only one element. In the web I have seen how to do it when query return more than one element. This is my method:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = -1 };
var tenantDTO = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId)
.AsEnumerable()
.SingleOrDefault();
return tenantDTO != null ? _iTenantAssembler.DtoToEntity(tenantDTO) : null;
}
Compiler say me than it isn't async. Thanks
c# database azure-cosmosdb
c# database azure-cosmosdb
edited Jan 5 at 6:26
José Pedro
6481919
6481919
asked Jan 4 at 10:32
CMorilloCMorillo
155
155
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
That's because it's not async. You need to convert it to a document query and use the HasMoreResults
+ ExecuteNextAsync
combination and use the await
keyword on the ExecuteNextAsync
.
Here is a working example:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = 1 };
var query = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId).AsDocumentQuery();
while(query.HasMoreResults)
{
var results = await query.ExecuteNextAsync();
if(results.Any())
{
return _iTenantAssembler.DtoToEntity(results.Single());
}
}
return null;
}
But can I take the differents variables from results?
– CMorillo
Jan 4 at 11:42
@CMorillo What do you mean by "differents variables"?
– Nick Chapsas
Jan 4 at 11:46
Forget it, your code works very well
– CMorillo
Jan 4 at 11:52
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54037205%2fasync-query-in-cosmos-db%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
That's because it's not async. You need to convert it to a document query and use the HasMoreResults
+ ExecuteNextAsync
combination and use the await
keyword on the ExecuteNextAsync
.
Here is a working example:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = 1 };
var query = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId).AsDocumentQuery();
while(query.HasMoreResults)
{
var results = await query.ExecuteNextAsync();
if(results.Any())
{
return _iTenantAssembler.DtoToEntity(results.Single());
}
}
return null;
}
But can I take the differents variables from results?
– CMorillo
Jan 4 at 11:42
@CMorillo What do you mean by "differents variables"?
– Nick Chapsas
Jan 4 at 11:46
Forget it, your code works very well
– CMorillo
Jan 4 at 11:52
add a comment |
That's because it's not async. You need to convert it to a document query and use the HasMoreResults
+ ExecuteNextAsync
combination and use the await
keyword on the ExecuteNextAsync
.
Here is a working example:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = 1 };
var query = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId).AsDocumentQuery();
while(query.HasMoreResults)
{
var results = await query.ExecuteNextAsync();
if(results.Any())
{
return _iTenantAssembler.DtoToEntity(results.Single());
}
}
return null;
}
But can I take the differents variables from results?
– CMorillo
Jan 4 at 11:42
@CMorillo What do you mean by "differents variables"?
– Nick Chapsas
Jan 4 at 11:46
Forget it, your code works very well
– CMorillo
Jan 4 at 11:52
add a comment |
That's because it's not async. You need to convert it to a document query and use the HasMoreResults
+ ExecuteNextAsync
combination and use the await
keyword on the ExecuteNextAsync
.
Here is a working example:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = 1 };
var query = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId).AsDocumentQuery();
while(query.HasMoreResults)
{
var results = await query.ExecuteNextAsync();
if(results.Any())
{
return _iTenantAssembler.DtoToEntity(results.Single());
}
}
return null;
}
That's because it's not async. You need to convert it to a document query and use the HasMoreResults
+ ExecuteNextAsync
combination and use the await
keyword on the ExecuteNextAsync
.
Here is a working example:
public async Task<TenantDetails> ReadBrokerSettings(string tenantId)
{
FeedOptions queryOptions = new FeedOptions { MaxItemCount = 1 };
var query = this._client.CreateDocumentQuery<TenantDTO>(
UriFactory.CreateDocumentCollectionUri(_idDatabase, _idCollection), queryOptions)
.Where(f => f.tenantId == tenantId).AsDocumentQuery();
while(query.HasMoreResults)
{
var results = await query.ExecuteNextAsync();
if(results.Any())
{
return _iTenantAssembler.DtoToEntity(results.Single());
}
}
return null;
}
edited Jan 4 at 10:44
answered Jan 4 at 10:37
Nick ChapsasNick Chapsas
3,3311517
3,3311517
But can I take the differents variables from results?
– CMorillo
Jan 4 at 11:42
@CMorillo What do you mean by "differents variables"?
– Nick Chapsas
Jan 4 at 11:46
Forget it, your code works very well
– CMorillo
Jan 4 at 11:52
add a comment |
But can I take the differents variables from results?
– CMorillo
Jan 4 at 11:42
@CMorillo What do you mean by "differents variables"?
– Nick Chapsas
Jan 4 at 11:46
Forget it, your code works very well
– CMorillo
Jan 4 at 11:52
But can I take the differents variables from results?
– CMorillo
Jan 4 at 11:42
But can I take the differents variables from results?
– CMorillo
Jan 4 at 11:42
@CMorillo What do you mean by "differents variables"?
– Nick Chapsas
Jan 4 at 11:46
@CMorillo What do you mean by "differents variables"?
– Nick Chapsas
Jan 4 at 11:46
Forget it, your code works very well
– CMorillo
Jan 4 at 11:52
Forget it, your code works very well
– CMorillo
Jan 4 at 11:52
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54037205%2fasync-query-in-cosmos-db%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown