title: Determine if the given property is a Navigation property
body: <p>I am writing a code to map certain properties from one object to another except the <strong>Navigational</strong> properties.</p>
  
  <p>My code looks something like this:</p>
  
  <pre><code>var properties = typeof(TOne).GetProperties();
  
  var t = new TOne();
  foreach (var prop in properties)
  {
      var skip = exempt == null || (exempt != null &amp;&amp; exempt.Contains(prop.Name));
  
      if (!skip &amp;&amp;  CommonHelper.HasProperty(obj, prop.Name))
      {           
          var _prop = obj.GetType().GetProperty(prop.Name);                    
          CommonHelper.SetPropValue(t, prop.Name, _prop.GetValue(obj, null));                    
      }
  }
  </code></pre>
  
  <p>I would like to skip all the navigational properties (do not wish to copy object but primitive types).</p>
  
  <p>For example:</p>
  
  <pre><code>class Person {
      public int Id { get; set; }
  
      [ForeignKey("DetailId")]
      public Detail Detail { get; set; }
  
      public int DetailId { get; set; }
  }
  </code></pre>
  
  <p>I wish to copy <strong>DetailId</strong> but not the <strong>Detail</strong> object.</p>