title: How to log my entity errors detailed
body: <p>I want to store my entity classes' properties' values as extra if occurred any error. What is the best practises to do this ? I thought, getting values by reflection and write them to database is a good solution but then It creates another question. How can I reach all values including Collections'  values, in other words children objects' values. I have tried to reach by using reflection but I stucked,failed. If my solution is wrong, I am open to any suitable solutions, suggestions :)</p>
  
  <p>For example :</p>
  
  <pre><code>public class Author : BaseEntity
  {
  
      /// &lt;summary&gt;
      /// Gets or sets a value indicating the author's name
      /// &lt;/summary&gt;
      public string Name { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets a value indicating the author's surname
      /// &lt;/summary&gt;
      public string Surname { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets a value indicating the author's birthdate
      /// &lt;/summary&gt;
      public DateTime BirthDate { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets a value indicating the author's death of date
      /// &lt;/summary&gt;
      public DateTime DeathDate { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets a value indicating rating entity
      /// &lt;/summary&gt;
      public virtual AuthorRating Rating { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets a value indicating idenitifier of the author's nationality
      /// &lt;/summary&gt;
      public int NationalityId { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets a value indicating the author's nationality
      /// &lt;/summary&gt;
      public virtual Nation Nationality { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets the collection of votes
      /// &lt;/summary&gt;
      public virtual ICollection&lt;AuthorVote&gt; HavingVotes { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets the collection of quotes which he/she said
      /// &lt;/summary&gt;
      public virtual ICollection&lt;Quote&gt; OwnQuotes { get; set; }
  
      /// &lt;summary&gt;
      /// Gets or sets the collection of favourited rows by user
      /// &lt;/summary&gt;
      public virtual ICollection&lt;UserFavouriteAuthor&gt; Favouriteds { get; set; }
  
  }
  </code></pre>
  
  <p>For example, How can I reach Author.Qutes.QuoteVotes class and their values and their childrens recursively by using reflection ?</p>