title: Question on Structure
body: <p>I have an ASP.NET MVC 2 project. I've decoupled layers. I have a service layer and a repository layer.
  The controller calls service methods and only the service layer calls methods in the repository.</p>
  
  <p>The problem is:
  A method in my repository class uses LINQ joins. From this method, I would like to return a type with merging some data from joined tables. (i.e, Name = a.Name, Position = b.Position) And I always return IEnumerables in my repository class. So in this case, it seems I need to define a new type for (Name, Position), and return that type from the repository function. But, then, I'll have to remap that class to some other ViewModel class. (Because I'm seperating concerns, I shouldnt use viewmodel classes in repository right?) This leads to many different classes. EF classes, classes for joined tables, and viewmodel classes.</p>
  
  <p>Am I in the right path?</p>
  
  <p>Please enlighten me.</p>
  
  <p>Thank you</p>