title: Linq to sql Repository pattern , Some questions
body: <p>I am using repository pattern with linq to sql, I am using a repository class per table. 
  I want to know , am i doing at good/standard way,  </p>
  
  <p>ContactRepository</p>
  
  <pre><code>  Contact GetByID()
    Contact GetAll()
  </code></pre>
  
  <p>COntactTagRepository</p>
  
  <pre><code> List&lt;ContactTag&gt; Get(long contactID)
   List&lt;ContactTag&gt; GetAll()
   List&lt;ContactTagDetail&gt; GetAllDetails()
  
  class ContactTagDetail
  {
    public Contact Contact {get;set;}
    public ContactTag COntactTag {get;set;}
  }
  </code></pre>
  
  <p>When i need a contact i call method in contactrepository, same for contacttag</p>
  
  <p>but when i need contact and tags together i call GetDetais() in ContactTag repository its not returning the COntactTag entity generated by the orm insted its returning ContactTagDetail entity conatining both COntact and COntactTag generated by the orm,  i know i can simple call GetAll in COntactTag repository and can access Contact.ContactTag but as its linq to sql it will there is no option to Deferred Load in query level, so whenever i need a entity with a related entity i create a projection class</p>
  
  <p>Another doubt is where i really need to right the method i can do it in both contact &amp; ContactTag repostitory like In contact repository GetALlWithTags() or something but i am doing it in in COntactTag repository </p>
  
  <p>Whats your suggestions ?</p>