title: could not get a field value by reflection getter... nhibernate query cache with 2nd level cache
body: <p>I got this exception </p>
  
  <blockquote>
    <p>could not get a field value by
    reflection getter of
    DictionaryMaster.<Code>k__BackingField</p>
  </blockquote>
  
  <p>with this inner exception:</p>
  
  <blockquote>
    <p>Field '&lt;>k__BackingField' defined on
    type  is not a field on the target
    object which is of type
    'System.Object[]'.</p>
  </blockquote>
  
  <p>The problem exists only when i use eagerloading in query. Below i put my classes, relations and query.</p>
  
  <pre><code>public class DictionaryMaster
      {
          public virtual IList&lt;DictionaryItem&gt; DictionaryItems { get; private set; }
          public virtual System.String Code { get; private set; }
          public virtual System.String Description { get; private set; }
      }
  
     public class DictionaryMasterMap : ClassMap&lt;DictionaryMaster&gt;
      {
          public DictionaryMasterMap()
          {
              Cache.ReadOnly().Region("dictionary");
              LazyLoad();
  
              Id(x =&gt; x.Code) //i know this is so ugly
                  .Column("DC_Code")
                  .GeneratedBy.Assigned(); 
              Map(x =&gt; x.Description).Column("DC_Desc");
              HasMany(x =&gt; x.DictionaryItems)
                  .Cascade.AllDeleteOrphan()
                  .Fetch.Select()
                  .AsBag()
                  .Inverse()
                  .Not.LazyLoad()
                  .KeyColumns.Add("DI_DCCode");
          }
      }
  
   public class DictionaryItem
      {
          public virtual int Id { get; private set; }
          public virtual string Code { get; private set; }
          public virtual DictionaryMaster DictionaryMaster { get; private set; }
          public virtual string Description { get; private set; }
  }
  
     public class DictionaryItemMap : ClassMap&lt;DictionaryItem&gt;
      {
          public DictionaryItemMap()
          {
              Cache.ReadOnly().Region("dictionary");
  
              Id(x =&gt; x.Id)
                  .Column("DI_Id").GeneratedBy.Identity();
  
              Map(x =&gt; x.Code).Column("DI_Code");
              Map(x =&gt; x.Description).Column("DI_Desc");
              References(x =&gt; x.DictionaryMaster).Column("DI_DCCode");
          }
      }
  </code></pre>
  
  <p>Query:</p>
  
  <pre>session.Query&lt;DictionaryMaster&gt;()
                      .Fetch(x =&gt; x.DictionaryItems)
                      .Cacheable()
                      .CacheMode(CacheMode.Normal)
                      .ToList();
  </code></pre>