title: Map 1:1 and 1:N relationship without extra relationship key columns
body: <p>Assume I have the following DTOs:</p>
  
  <pre><code>class User
  {
    string Name { get; }
    Permissions Permissions { get; }
  }
  
  class Permissions
  {
    // User Parent { get; } - may or may not add this, whatever is easier
    bool SomePermissionProperty { get; }
    IEnumerable&lt;NestedPermission&gt; NestedPermissions { get; }
  }
  
  class NestedPermission
  {
    // Permissions Parent { get; } - may or may not add this, whatever is easier
    bool SomeNestedProperty { get; }
  }
  </code></pre>
  
  <p>so I have a User object. Each user has exactly one Permissions-object associated in a 1-to-1 relationship. And each Permissions object has several NestedPermissions objects associated with it it a 1-to-many relationship.</p>
  
  <p>In theory, I believe it should be possible to have a table layout like this:</p>
  
  <pre><code>Table: User
    string Name
  
  Table: Permissions
    string UserName  // refers to User.Name
    bool SomePermissionProperty
  
  Table: NestedPermission
    string UserName  // refers to Permissions.UserName, which in turn refers to User.Name
    bool SomeNestedProperty
  </code></pre>
  
  <p>Is there any way to fluently map my DTOs in EntityFramework Core in a way that would generate such a simple table layout?</p>
  
  <p>(so far I've only found ways adding shadow properties as relationship keys, but I am trying to avoid extra columns. Or, when I've added navigation properties to the child objects too, EF started overriding columns with relationship keys rather than their actual values, e.g. User.Name would contain some EF-generated value describing a key between User and Permissions, rather than its actual value)</p>