J'utilise un modèle de référentiel avec linq to sql, j'utilise une classe de référentiel par table. Je veux savoir, ce que je fais au bon/moyen standard,Linq to sql Modèle de référentiel, quelques questions
ContactRepository
Contact GetByID()
Contact GetAll()
COntactTagRepository
List<ContactTag> Get(long contactID)
List<ContactTag> GetAll()
List<ContactTagDetail> GetAllDetails()
class ContactTagDetail
{
public Contact Contact {get;set;}
public ContactTag COntactTag {get;set;}
}
Quand je besoin d'un contact que j'appelle méthode contactrepository, même pour contacttag
mais quand j'ai besoin de contact et de balises ensemble, j'appelle GetDetais() dans le dépôt ContactTag et ne renvoie pas l'entité COntactTag généré par l'orm insta son retour ContactTagDetail entité à la fois COntact et COntactTag généré par l'orm, je sais que je peux simplement appeler GetAll dans le référentiel COntactTag et peut accéder à Contact.ContactTag mais comme linq à sql il n'y aura pas d'option à la charge différée au niveau de la requête, de sorte que chaque fois que je besoin d'une entité avec une entité apparentée je crée une classe de projection
un autre doute est là où je vraiment besoin de droite la méthode que je peux le faire dans les deux contacts & ContactTag repostitory comme dans le référentiel de contact GetALlWithTags () ou quelque chose mais je le fais dans le dépôt COntactTag
Quelles sont vos suggestions?
son bien, mais quand je suis dépôt avec de nombreuses entités connexes où je vais écrire l'insertion/suppression des méthodes etc, – MindlessProgrammer
vous pourriez mettez-les tous dans un même répertoire, à condition qu'ils soient liés comme une «unité de travail». –