title: Fluent NHibernate Component Mapping issue
body: <p>I have a SQL Server stored procedure that I'm executing using a query string that returns a table with the following columns (ItemNumber, ItemDescription, UPC, Price, Count) representing the count of stores that an Item has for a given price. So Item A is 1.00 at 50 stores and 2.00 at 55 stores.</p>
  
  <p>Here is the code for executing the Fetch:</p>
  
  <pre><code>private IEnumerable&lt;RetailPrice&gt; FetchRetailPrices(IUnitOfWork unitOfWork, string upc)
  {
      string StoredProcedure = "EXEC RetailPrices @UPC = :upc";
      List&lt;Parameter&gt; parameters = new List&lt;Parameter&gt;
      {
          new Parameter("upc", upc)
      };
  
      return unitOfWork.GetRepository&lt;RetailPrice&gt;().Fetch(
          StoredProcedure, parameters);
  }
  </code></pre>
  
  <p>Here are my objects I'm trying to map using Fluent NHibernate:</p>
  
  <pre><code>namespace Report.Entities
  {
      [Serializable]
      public class Item
      {
          public virtual string Upc { get; protected internal set; }
          public virtual int ItemNumber { get; protected internal set; }
          public virtual string ItemDescription { get; protected internal set; }
      }
  }
  
  namespace Report.Entities
  {
      [Serializable]
      public class RetailPrice
      {
          public virtual Item ItemDetails { get; protected internal set; }
          public virtual decimal Price { get; protected internal set; }
          public virtual int Count { get; protected internal set; }
      }
  }
  </code></pre>
  
  <p>Here is my Map:</p>
  
  <pre><code>namespace Report.Mappings
  {
      public class RetailPriceMap : ClassMap&lt;RetailPrice&gt;
      {
          public RetailPriceMap()
          {
              Id(a =&gt; a.Price).Column("Price");
              Map(a =&gt; a.Count).Column("Count");
  
              Component(a =&gt; a.ItemDetails, b =&gt;
              {
                  b.Map(c =&gt; c.ItemNumber).Column("ItemNumber");
                  b.Map(c =&gt; c.ItemDescription).Column("ItemDescription");
                  b.Map(c =&gt; c.Upc).Column("UPC");
              });
          }
      }
  }
  </code></pre>
  
  <p>Right now I'm just doing this for one item for one price and I'm getting a PropertyNotFoundException: Could not find a setter for property 'ItemNumber' in class 'Report.Entities.RetailPrice'.</p>
  
  <p>Why is the code trying to load this on the RetailPrice object instead of the Item object? Does it have anything to do with running the stored procedure as a Fetch query?</p>
  
  <p>Once I get that solved, how can I go about making the Item.Upc part of the Id on the RetailPriceMap?</p>