title: How to use NHibernate Projections to retrieve a collection
body: <p>I am lazy loading the collections, and also because there are so many fields within the person table, I am writing a projection function to retrieve only certain properties. It works with properties, just not collections of other entities. I would be fine if they were loaded in as proxies and i could get them later, but right now it just loads in null.</p>
  
  <pre><code>public IList&lt;Person&gt; ListTop40()
          {
              var list = _session.CreateCriteria(typeof(Person))
                     .SetProjection(Projections.ProjectionList()
                     .Add(Projections.Property("FirstName"))
                     .Add(Projections.Property("LastName"))
                     .Add(Projections.Property("Jersey"))
                     .Add(Projections.Property("FortyYard"))
                     .Add(Projections.Property("BenchReps"))
                     .Add(Projections.Property("VertJump"))
                     .Add(Projections.Property("ProShuttle"))
                     .Add(Projections.Property("LongJump"))
                     .Add(Projections.Property("PersonSchoolCollection"))
                      )
                      .List&lt;IList&gt;()
                      .Select(l =&gt; new Person() { FirstName = (string)l[0], LastName = (string)l[1], Jersey = (Decimal)l[2], FortyYard = (Decimal)l[3], BenchReps = (Decimal)l[4], VertJump = (Decimal)l[5], ProShuttle = (Decimal)l[6], LongJump = (Decimal)l[7], PersonSchoolCollection = (IList&lt;Person_School&gt;)l[8]});
  
              IList&lt;Person&gt; s = list.ToList();
              return s;
          }
  </code></pre>