title: MVVM - Bind directly to Model object exposed from VM or implement a separate property in VM to access the Model properties
body: <p>Sorry if the title is confusing but I don't really know how to shorten my question. Anyway, here it goes.</p>
  
  <p>I'm using WPF, Entity Framework and MVVM.</p>
  
  <p>Currently, in my ViewModel, I have a property</p>
  
  <pre><code>public Model.Document Document {get;set;} //Model.Document is an EF Entity
  </code></pre>
  
  <p>Then, in XAML, I bind to</p>
  
  <pre><code>&lt;TextBox Text={Binding Path=Document.Title}/&gt;
  </code></pre>
  
  <p>Title is of course a Property on the Model.</p>
  
  <p>Now following question came to my mind: 
  To separate the Model from the View, wouldn't it be better if I added a property to the ViewModel like so</p>
  
  <pre><code>    public string Title
      {
          get { return Document.Title; }
          set { Document.Title = value; }
      }
  </code></pre>
  
  <p>and then bind like this:</p>
  
  <pre><code>&lt;TextBox Text={Binding Path=Title}/&gt;
  </code></pre>
  
  <p>Which way is recommended?</p>