2009-09-25 6 views
1

Quelqu'un peut-il me dire s'il est possible d'extraire les classes générées linq2sql dans un projet distinct en C#? - Je suppose que je peux simplement créer les fichiers, puis les copier dans un nouveau projet et ajouter une référence à mon projet Data?Linq2Sql généré des classes capables de mettre dans un projet distinct?

Le problème que j'ai est que j'ai mon interface, couche de service et de la couche de données ...

Actuellement, la couche de données a également généré linq2sql car c'est là le dbml est.

Donc, j'ai besoin d'une référence du service aux données, ce qui est bien! Mais j'ai mon interface utilisateur pour référencer la couche de service, mais je ne pense pas que ce soit une bonne idée pour mon interface utilisateur d'avoir une référence à la couche de données (car elle en aurait besoin pour les classes linq2sql).

Donc la seule façon que je vois est de sortir les classes et de les placer dans un projet séparé afin que tous les projets puissent partager. Est-ce une bonne pratique?

Quelles conventions de dénomination dois-je appeler ce projet, DTO? POCO? Entités? ou similaire

Je vraiment aimerais entendre un retour d'alimentation de la façon d'y arriver et le temps que je suis les lignes droite

Répondre

1

Je ne suis pas sûr à 100% si cela fonctionne aussi pour Linq2Sql (je pense qu'il fait) , mais c'est ce que je fais avec Linq2Entities:

Une fois que les classes ont été générées, je les déplace manuellement vers un projet différent. J'appelle habituellement ce projet xxxxxx.Model. Les entités seraient probablement aussi bien, mais je resterais loin de DTO et POCO parce que ces classes ne sont ni l'un ni l'autre. Je crois qu'il y a un moyen de faire POCO avec Linq2Sql, mais pas si vous utilisez le concepteur. J'ajoute ensuite des références au besoin aux autres couches.

Espérons que cela aide.

+0

Alors place! Juste ce que je cherchais ... merci .. –

Questions connexes