2009-09-08 8 views
3

J'envisage d'utiliser LINQ-to-SQL pour créer le DAL dans mon application. Je crée normalement le DAL manuellement car je ne suis pas un grand fan d'ORM (trop d'abstraction IMO) mais j'essaye de gagner du temps pour un client impatient.Comment mappez LINQ-to-SQL à vos classes BLL?

Ma question est, comment mapper les classes générées par LINQ-to-SQL à vos classes BLL? Ajoutez-vous simplement votre code aux classes générées par LINQ-to-SQL (ce sont des classes partielles) et ne créez pas de classes BLL (donc la classe fonctionne comme une classe DAL et BLL) ou comment faites-vous normalement il?

Merci

Répondre

7

La distinction importante est de reconnaître que LINQ to SQL a en fait deux parties: les classes d'entités que vous possédez - ils sont soit générés ou écrits à la main dans votre solution - et LINQ aux bibliothèques SQL qui font la lourde tâche de traduire les expressions LINQ en SQL et de projeter les résultats. Le premier est votre BLL, et le dernier est votre DAL. Le modèle LINQ to SQL remplit principalement ce critère, car le DAL est indépendant de l'entité (ou BLL-agnostic); et vos entités ont des couplages très lâches avec le DAL; ils peuvent être utilisés en dehors de la DAL entièrement si nécessaire. Donc, la réponse courte est que le modèle LINQ to SQL peut remplir à la fois les rôles DAL et BLL, mais simplement parce que vous utilisez un modèle pour les deux ne signifie pas que vous combinez les deux couches de façon inappropriée.

+0

Cela a répondu à la question. Merci beaucoup –