Loading child entities with parent object graph using Entity framework
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I am trying to model something similar to a graph representation of a object where it's children are dependencies on which the parent depends.
Example here is the table structure.
Initative
Id | Name
1 | Init1
2 | Init2
3 | Init3
4 | Init4
InitiativeChildren
Id |InitiativeId InitiativeChildrenId
1 | 1 | 2
2 | 1 | 3
3 | 2 | 4
Categories
Id | InitiativeId | Name
1 | 1 | Init1Category1
2 | 1 | Init1Category2
3 | 1 | Init1Category3
4 | 2 | Init2Category1
5 | 2 | Init2Category2
6 | 2 | Init2Category3
7 | 3 | Init3Category1
8 | 3 | Init3Category2
Initiative Id = 1 depends on Initiative Id = 2, 3 where InitiativeId = 2 further depends on Initiative Id = 4
I want to write a query to pull a object like this for Initiative Id = 1
Initiative
{
Id : 1
Children = [ Initiative {
Id = 2,
Children = [ Initiative
{
Id = 4,
Children =
}]
},
Initiative {
Id = 3,
Children =
}]
}
i.e. I want the child initiative to be Initiative Objects which will again have child initiatives and so on.
I want the structure to be like this so that I can use depth first search to resolve the children objects before acting on that object.
The database structure I designed is
And the Entity framework query I have written is
var result = context.Initiatives
.Include(m => m.InitiativeChildrens)
.Include(m => m.Categories)
.Where(m => m.Id == 1)
.ToList();
What I get currently is that the the ChildrenInitiative has two children as it should but the Initiative to that child initiative is again the same Initiative with Id = 1 as opposed to a Initiative Object with ChildInitiative.ChildInitiativeId
Lets assume that this representation doesn't lead to modelling a cyclic graph for now
c# entity-framework database-design entity-framework-6 parent-child
add a comment |
I am trying to model something similar to a graph representation of a object where it's children are dependencies on which the parent depends.
Example here is the table structure.
Initative
Id | Name
1 | Init1
2 | Init2
3 | Init3
4 | Init4
InitiativeChildren
Id |InitiativeId InitiativeChildrenId
1 | 1 | 2
2 | 1 | 3
3 | 2 | 4
Categories
Id | InitiativeId | Name
1 | 1 | Init1Category1
2 | 1 | Init1Category2
3 | 1 | Init1Category3
4 | 2 | Init2Category1
5 | 2 | Init2Category2
6 | 2 | Init2Category3
7 | 3 | Init3Category1
8 | 3 | Init3Category2
Initiative Id = 1 depends on Initiative Id = 2, 3 where InitiativeId = 2 further depends on Initiative Id = 4
I want to write a query to pull a object like this for Initiative Id = 1
Initiative
{
Id : 1
Children = [ Initiative {
Id = 2,
Children = [ Initiative
{
Id = 4,
Children =
}]
},
Initiative {
Id = 3,
Children =
}]
}
i.e. I want the child initiative to be Initiative Objects which will again have child initiatives and so on.
I want the structure to be like this so that I can use depth first search to resolve the children objects before acting on that object.
The database structure I designed is
And the Entity framework query I have written is
var result = context.Initiatives
.Include(m => m.InitiativeChildrens)
.Include(m => m.Categories)
.Where(m => m.Id == 1)
.ToList();
What I get currently is that the the ChildrenInitiative has two children as it should but the Initiative to that child initiative is again the same Initiative with Id = 1 as opposed to a Initiative Object with ChildInitiative.ChildInitiativeId
Lets assume that this representation doesn't lead to modelling a cyclic graph for now
c# entity-framework database-design entity-framework-6 parent-child
add a comment |
I am trying to model something similar to a graph representation of a object where it's children are dependencies on which the parent depends.
Example here is the table structure.
Initative
Id | Name
1 | Init1
2 | Init2
3 | Init3
4 | Init4
InitiativeChildren
Id |InitiativeId InitiativeChildrenId
1 | 1 | 2
2 | 1 | 3
3 | 2 | 4
Categories
Id | InitiativeId | Name
1 | 1 | Init1Category1
2 | 1 | Init1Category2
3 | 1 | Init1Category3
4 | 2 | Init2Category1
5 | 2 | Init2Category2
6 | 2 | Init2Category3
7 | 3 | Init3Category1
8 | 3 | Init3Category2
Initiative Id = 1 depends on Initiative Id = 2, 3 where InitiativeId = 2 further depends on Initiative Id = 4
I want to write a query to pull a object like this for Initiative Id = 1
Initiative
{
Id : 1
Children = [ Initiative {
Id = 2,
Children = [ Initiative
{
Id = 4,
Children =
}]
},
Initiative {
Id = 3,
Children =
}]
}
i.e. I want the child initiative to be Initiative Objects which will again have child initiatives and so on.
I want the structure to be like this so that I can use depth first search to resolve the children objects before acting on that object.
The database structure I designed is
And the Entity framework query I have written is
var result = context.Initiatives
.Include(m => m.InitiativeChildrens)
.Include(m => m.Categories)
.Where(m => m.Id == 1)
.ToList();
What I get currently is that the the ChildrenInitiative has two children as it should but the Initiative to that child initiative is again the same Initiative with Id = 1 as opposed to a Initiative Object with ChildInitiative.ChildInitiativeId
Lets assume that this representation doesn't lead to modelling a cyclic graph for now
c# entity-framework database-design entity-framework-6 parent-child
I am trying to model something similar to a graph representation of a object where it's children are dependencies on which the parent depends.
Example here is the table structure.
Initative
Id | Name
1 | Init1
2 | Init2
3 | Init3
4 | Init4
InitiativeChildren
Id |InitiativeId InitiativeChildrenId
1 | 1 | 2
2 | 1 | 3
3 | 2 | 4
Categories
Id | InitiativeId | Name
1 | 1 | Init1Category1
2 | 1 | Init1Category2
3 | 1 | Init1Category3
4 | 2 | Init2Category1
5 | 2 | Init2Category2
6 | 2 | Init2Category3
7 | 3 | Init3Category1
8 | 3 | Init3Category2
Initiative Id = 1 depends on Initiative Id = 2, 3 where InitiativeId = 2 further depends on Initiative Id = 4
I want to write a query to pull a object like this for Initiative Id = 1
Initiative
{
Id : 1
Children = [ Initiative {
Id = 2,
Children = [ Initiative
{
Id = 4,
Children =
}]
},
Initiative {
Id = 3,
Children =
}]
}
i.e. I want the child initiative to be Initiative Objects which will again have child initiatives and so on.
I want the structure to be like this so that I can use depth first search to resolve the children objects before acting on that object.
The database structure I designed is
And the Entity framework query I have written is
var result = context.Initiatives
.Include(m => m.InitiativeChildrens)
.Include(m => m.Categories)
.Where(m => m.Id == 1)
.ToList();
What I get currently is that the the ChildrenInitiative has two children as it should but the Initiative to that child initiative is again the same Initiative with Id = 1 as opposed to a Initiative Object with ChildInitiative.ChildInitiativeId
Lets assume that this representation doesn't lead to modelling a cyclic graph for now
c# entity-framework database-design entity-framework-6 parent-child
c# entity-framework database-design entity-framework-6 parent-child
edited Nov 22 '18 at 15:34
thebenman
asked Nov 22 '18 at 10:56
thebenmanthebenman
1,099922
1,099922
add a comment |
add a comment |
0
active
oldest
votes
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%2f53429403%2floading-child-entities-with-parent-object-graph-using-entity-framework%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f53429403%2floading-child-entities-with-parent-object-graph-using-entity-framework%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