title: Entity Framework Core 3.1 is throwing "Include has been used on non entity queryable" exception
body: <p>I have an ASP.NET Core 3.1 based project where I am using Entity Framework Core 3.1 as an ORM.</p>
  
  <p>I have the following two entity models</p>
  
  <pre><code>public class PropertyToList
  {
      public int Id { get; set; }
      public int ListId { get; set; } 
      public int UserId { get; set; }
      public int PropertyId { get; set; }
      // ... Other properties removed for the sake of simplicity
  
      public virtual Property Property { get; set; }
  }
  
  public class Property
  {
      public int Id { get; set; }
      // ... Other properties removed for the sake of simplicity
      public int TypeId { get; set; } 
      public int StatusId { get; set; }
      public int CityId { get; set; }
  
      public virtual Type Type { get; set; }
      public virtual Status Status { get; set; }
      public virtual City City { get; set; }
  }
  </code></pre>
  
  <p>I am trying to query all properties where a user has relation to. The <code>PropertyToList</code> object tells me if a user is related to a property. Here is what I have done</p>
  
  <pre><code>// I start the query at a relation object
  IQueryable&lt;Property&gt; query = DataContext.PropertyToLists.Where(x =&gt; x.Selected == true)
                                          .Where(x =&gt; x.UserId == userId &amp;&amp; x.ListId == listId)
                                          // After identifying the relations that I need,
                                          // I only need to property object "which is a virtual property in" the relation object
                                          .Select(x =&gt; x.Property)
                                          // Here I am including relations from the Property virtual property which are virtual properties
                                          // on the Property
                                          .Include(x =&gt; x.City)
                                          .Include(x =&gt; x.Type)
                                          .Include(x =&gt; x.Status);
  
  List&lt;Property&gt; properties = await query.ToListAsync();
  </code></pre>
  
  <p>But that code is throwing this error</p>
  
  <blockquote>
    <p>Include has been used on non entity queryable</p>
  </blockquote>
  
  <p>What could be causing this problem? How can I fix it?</p>