Use GetAllIncluding to get multiple levels in a single call
Using ABP Repository pattern we are trying to create a single query to retrieve a set of entities, along with their children, and the childrens children
Entity X -> one to many Entity Y -> one to many Entity Z
(think Invoice > InvoiceItem > InvoiceItemParts for example)
The Abp repository pattern provides for retrieving at least 1 set of children using
result = _repositoryInvoice.GetAllIncluding(x => x.InvoiceItem)
is there a way using LINQ to include InvoiceItemParts in this 1 query? If not, what is the recommended way to retrieve all child nav properties and all levels using a single call.
The main goal is making it so we don't have to make multiple round trips to the DB when accessing the child properties along with the child properties of those children.
thanks
jasen
entity-framework automapper
add a comment |
Using ABP Repository pattern we are trying to create a single query to retrieve a set of entities, along with their children, and the childrens children
Entity X -> one to many Entity Y -> one to many Entity Z
(think Invoice > InvoiceItem > InvoiceItemParts for example)
The Abp repository pattern provides for retrieving at least 1 set of children using
result = _repositoryInvoice.GetAllIncluding(x => x.InvoiceItem)
is there a way using LINQ to include InvoiceItemParts in this 1 query? If not, what is the recommended way to retrieve all child nav properties and all levels using a single call.
The main goal is making it so we don't have to make multiple round trips to the DB when accessing the child properties along with the child properties of those children.
thanks
jasen
entity-framework automapper
I don't know about ABP Repository, but it sounds like you ask aboutdbSetX.Include(x => x.ItemsY.Select(y => y.ItemsZ))
for EF6 ordbSetX.Include(x => x.ItemsY).ThenInclude(y => y.ItemsZ)
for EF core. Did I misinterpret your problem?
– grek40
Nov 15 '18 at 7:12
There is no such method (that includes a variable number of navigation properties). The generated SQL has to be determined solely by the schema in order for EF to be generated, what you want (I think) is some way to include one more entity type if you got some entities referencing it, but then EF would have to retrieve data while generating the query, which it will not do.
– DevilSuichiro
Nov 15 '18 at 7:27
I wasn't looking for a variable number of properties, just basically trying to figure out what the equivalent to "ThenInclude" might be in AspNetBoilerPlate. Thank you!
– Feech
Nov 15 '18 at 12:26
add a comment |
Using ABP Repository pattern we are trying to create a single query to retrieve a set of entities, along with their children, and the childrens children
Entity X -> one to many Entity Y -> one to many Entity Z
(think Invoice > InvoiceItem > InvoiceItemParts for example)
The Abp repository pattern provides for retrieving at least 1 set of children using
result = _repositoryInvoice.GetAllIncluding(x => x.InvoiceItem)
is there a way using LINQ to include InvoiceItemParts in this 1 query? If not, what is the recommended way to retrieve all child nav properties and all levels using a single call.
The main goal is making it so we don't have to make multiple round trips to the DB when accessing the child properties along with the child properties of those children.
thanks
jasen
entity-framework automapper
Using ABP Repository pattern we are trying to create a single query to retrieve a set of entities, along with their children, and the childrens children
Entity X -> one to many Entity Y -> one to many Entity Z
(think Invoice > InvoiceItem > InvoiceItemParts for example)
The Abp repository pattern provides for retrieving at least 1 set of children using
result = _repositoryInvoice.GetAllIncluding(x => x.InvoiceItem)
is there a way using LINQ to include InvoiceItemParts in this 1 query? If not, what is the recommended way to retrieve all child nav properties and all levels using a single call.
The main goal is making it so we don't have to make multiple round trips to the DB when accessing the child properties along with the child properties of those children.
thanks
jasen
entity-framework automapper
entity-framework automapper
asked Nov 15 '18 at 2:01
FeechFeech
9919
9919
I don't know about ABP Repository, but it sounds like you ask aboutdbSetX.Include(x => x.ItemsY.Select(y => y.ItemsZ))
for EF6 ordbSetX.Include(x => x.ItemsY).ThenInclude(y => y.ItemsZ)
for EF core. Did I misinterpret your problem?
– grek40
Nov 15 '18 at 7:12
There is no such method (that includes a variable number of navigation properties). The generated SQL has to be determined solely by the schema in order for EF to be generated, what you want (I think) is some way to include one more entity type if you got some entities referencing it, but then EF would have to retrieve data while generating the query, which it will not do.
– DevilSuichiro
Nov 15 '18 at 7:27
I wasn't looking for a variable number of properties, just basically trying to figure out what the equivalent to "ThenInclude" might be in AspNetBoilerPlate. Thank you!
– Feech
Nov 15 '18 at 12:26
add a comment |
I don't know about ABP Repository, but it sounds like you ask aboutdbSetX.Include(x => x.ItemsY.Select(y => y.ItemsZ))
for EF6 ordbSetX.Include(x => x.ItemsY).ThenInclude(y => y.ItemsZ)
for EF core. Did I misinterpret your problem?
– grek40
Nov 15 '18 at 7:12
There is no such method (that includes a variable number of navigation properties). The generated SQL has to be determined solely by the schema in order for EF to be generated, what you want (I think) is some way to include one more entity type if you got some entities referencing it, but then EF would have to retrieve data while generating the query, which it will not do.
– DevilSuichiro
Nov 15 '18 at 7:27
I wasn't looking for a variable number of properties, just basically trying to figure out what the equivalent to "ThenInclude" might be in AspNetBoilerPlate. Thank you!
– Feech
Nov 15 '18 at 12:26
I don't know about ABP Repository, but it sounds like you ask about
dbSetX.Include(x => x.ItemsY.Select(y => y.ItemsZ))
for EF6 or dbSetX.Include(x => x.ItemsY).ThenInclude(y => y.ItemsZ)
for EF core. Did I misinterpret your problem?– grek40
Nov 15 '18 at 7:12
I don't know about ABP Repository, but it sounds like you ask about
dbSetX.Include(x => x.ItemsY.Select(y => y.ItemsZ))
for EF6 or dbSetX.Include(x => x.ItemsY).ThenInclude(y => y.ItemsZ)
for EF core. Did I misinterpret your problem?– grek40
Nov 15 '18 at 7:12
There is no such method (that includes a variable number of navigation properties). The generated SQL has to be determined solely by the schema in order for EF to be generated, what you want (I think) is some way to include one more entity type if you got some entities referencing it, but then EF would have to retrieve data while generating the query, which it will not do.
– DevilSuichiro
Nov 15 '18 at 7:27
There is no such method (that includes a variable number of navigation properties). The generated SQL has to be determined solely by the schema in order for EF to be generated, what you want (I think) is some way to include one more entity type if you got some entities referencing it, but then EF would have to retrieve data while generating the query, which it will not do.
– DevilSuichiro
Nov 15 '18 at 7:27
I wasn't looking for a variable number of properties, just basically trying to figure out what the equivalent to "ThenInclude" might be in AspNetBoilerPlate. Thank you!
– Feech
Nov 15 '18 at 12:26
I wasn't looking for a variable number of properties, just basically trying to figure out what the equivalent to "ThenInclude" might be in AspNetBoilerPlate. Thank you!
– Feech
Nov 15 '18 at 12:26
add a comment |
1 Answer
1
active
oldest
votes
Decided to just create my own custom repository and use EFCore .Include and .ThenInclude directly. Turns out AspNetBoilerPlate has no support for querying navigation properties beyond their immediate children of the root entity being queried.
Microsoft provides some great examples of using .Include and .ThenInclude:
https://docs.microsoft.com/en-us/ef/core/querying/related-data
Good luck!
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%2f53311380%2fuse-getallincluding-to-get-multiple-levels-in-a-single-call%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
Decided to just create my own custom repository and use EFCore .Include and .ThenInclude directly. Turns out AspNetBoilerPlate has no support for querying navigation properties beyond their immediate children of the root entity being queried.
Microsoft provides some great examples of using .Include and .ThenInclude:
https://docs.microsoft.com/en-us/ef/core/querying/related-data
Good luck!
add a comment |
Decided to just create my own custom repository and use EFCore .Include and .ThenInclude directly. Turns out AspNetBoilerPlate has no support for querying navigation properties beyond their immediate children of the root entity being queried.
Microsoft provides some great examples of using .Include and .ThenInclude:
https://docs.microsoft.com/en-us/ef/core/querying/related-data
Good luck!
add a comment |
Decided to just create my own custom repository and use EFCore .Include and .ThenInclude directly. Turns out AspNetBoilerPlate has no support for querying navigation properties beyond their immediate children of the root entity being queried.
Microsoft provides some great examples of using .Include and .ThenInclude:
https://docs.microsoft.com/en-us/ef/core/querying/related-data
Good luck!
Decided to just create my own custom repository and use EFCore .Include and .ThenInclude directly. Turns out AspNetBoilerPlate has no support for querying navigation properties beyond their immediate children of the root entity being queried.
Microsoft provides some great examples of using .Include and .ThenInclude:
https://docs.microsoft.com/en-us/ef/core/querying/related-data
Good luck!
answered Nov 15 '18 at 15:28
FeechFeech
9919
9919
add a comment |
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%2f53311380%2fuse-getallincluding-to-get-multiple-levels-in-a-single-call%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
I don't know about ABP Repository, but it sounds like you ask about
dbSetX.Include(x => x.ItemsY.Select(y => y.ItemsZ))
for EF6 ordbSetX.Include(x => x.ItemsY).ThenInclude(y => y.ItemsZ)
for EF core. Did I misinterpret your problem?– grek40
Nov 15 '18 at 7:12
There is no such method (that includes a variable number of navigation properties). The generated SQL has to be determined solely by the schema in order for EF to be generated, what you want (I think) is some way to include one more entity type if you got some entities referencing it, but then EF would have to retrieve data while generating the query, which it will not do.
– DevilSuichiro
Nov 15 '18 at 7:27
I wasn't looking for a variable number of properties, just basically trying to figure out what the equivalent to "ThenInclude" might be in AspNetBoilerPlate. Thank you!
– Feech
Nov 15 '18 at 12:26