I am trying to set up a new project with EF Core. To define relationships between my entities I am using the OnModelCreating event:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Article>(article =>
{
article.OwnsOne(e => e.Category);
article.OwnsOne(e => e.CurrentCondition, condition =>
{
condition.OwnsMany(e => e.CriteriaConditions, articleCriteriaCondition =>
{
articleCriteriaCondition.OwnsOne(e => e.Criteria, criteria =>
{
criteria.OwnsMany(e => e.CriteriaOptions, criteriaOption =>
{
criteriaOption.OwnsOne(e => e.FollowUp);
});
});
});
condition.OwnsOne(e => e.CurrentCategory);
});
});
modelBuilder.Entity<Department>(department =>
{
department.OwnsMany(e => e.Categories);
department.OwnsMany(e => e.CriteriaCatalogues, criteriaCatalogue =>
{
criteriaCatalogue.OwnsMany(e => e.Criterias, criteria =>
{
criteria.OwnsMany(e => e.CriteriaOptions, criteriaOption =>
{
criteriaOption.OwnsOne(e => e.FollowUp);
});
});
criteriaCatalogue.OwnsMany(e => e.CriteriaCatalogues);
});
department.OwnsMany(e => e.Criterias, criteria =>
{
criteria.OwnsMany(e => e.CriteriaOptions, criteriaOption =>
{
criteriaOption.OwnsOne(e => e.FollowUp);
});
});
});
}
Here is a class diagram to roughly see where I am going with this: 
Note that a CriteriaCatalogue can contain many other CriteriaCatalogues.
Now when trying to run Database.EnsureDeleted(); I get this error message:
System.InvalidOperationException: 'The entity type 'ArticleCriteriaCondition.Criteria#Criteria' is configured as owned, but the entity type 'Department.CriteriaCatalogues#CriteriaCatalogue.Criterias#Criteria.CriteriaOptions#CriteriaOption.FollowUp#Criteria' is not. All entity types sharing a CLR type must be configured as owned.'
Although I think I did configure my FollowUp correctly, I obviously did not. Can somebody help me out here? I have no idea what to do.