title: List vs IEnumerable vs IQueryable when defining Navigation property
body: <p>I want to create a new model object named <code>Movie_Type</code> in my ASP.NET MVC web application. What will be the differences if I define the navigation proprty of this class to be either <code>List</code>, <code>ICollection</code> or <code>IQueryable</code> as following?</p>
  
  <pre><code>public partial class Movie_Type
  { 
      public int Id { get; set; }
      public string Name { get; set; } 
      public string Description { get; set; } 
      public List&lt;Movie&gt; Movies { get; set; }
  }
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>public partial class Movie_Type
  { 
      public int Id { get; set; }
      public string Name { get; set; } 
      public string Description { get; set; } 
      public IQueryable&lt;Movie&gt; Movies { get; set; }
  }
  </code></pre>
  
  <p>OR</p>
  
  <pre><code>public partial class Movie_Type
  {
      public int Id { get; set; }
      public string Name { get; set; } 
      public string Description { get; set; } 
      public ICollection&lt;Movie&gt; Movies { get; set; }
  }
  </code></pre>
  
  <p><strong>Edit:-</strong>
  @Tomas Petricek. 
  thanks for your reply. in my case i am using the database first approach and then i use <code>DbContext</code> template to map my tables, which automatically created <code>ICollection</code> for all the navigation properties, So my questions are:-
  1. Does this mean that it is not always the best choice to use Icollection. And i should change the automatically generated classes to best fit my case.
  2. Secondly i can manage to choose between lazy or Eager loading by defining .include such as</p>
  
  <pre><code>var courses = db.Courses.Include(c =&gt; c.Department);
  </code></pre>
  
  <p>Regardless of what i am using to define the navigation properties. So i can not understand ur point.
  3. i did not ever find any examples or tutorials that use <code>IQuerable</code> to define the navigation properties ,, so what might be the reason?
  BR</p>