title: EF code-first how to use POCO objects in client layers
body: <p>I'm new to <a href="http://www.asp.net/mvc" rel="nofollow">asp.net MVC</a> and <a href="http://www.asp.net/entity-framework" rel="nofollow">EF</a>, so excuse me if my question is not clear or easy.  </p>
  
  <p>I have read some tutorials about EF Code-First approach and now I'm trying this tutorial <a href="http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc" rel="nofollow">Getting Started with EF using MVC</a>.</p>
  
  <p>Using Code-First approach I'm using the POCO classes to define my DB model, DB logic, DB validation, UI validation and some UI logic. So I can use these classes(or objects) in my presentation layer or use them as JSON objects when dealing with Web-Services(or in JavaScript code).  </p>
  
  <p>My question: Isn't that mixing some logic together? I mean shouldn't I use like <em>special</em> view-model classes for presentation and these classes should have the UI logic and validation ?!  </p>
  
  <p>Is it good practice to send the POCO object to the view(or to the client in general) ?  </p>
  
  <p>Finally i need some guidance on how to organize my project <strong>layers</strong> or <strong>folders</strong>? I see many ways and I'm confused about what to choose or what format I should base my own on?!!</p>