Vous obtiendrez un contrôle approprié sur le T4 si vous incluez le générateur LINQ to SQL T4 sous la responsabilité de votre modèle.
Si j'ai bien compris, vous voulez conserver le comportement par défaut du générateur .dbml, mais aussi ajouter le vôtre. Cela a semblé un peu "vieux", et je n'ai pas utilisé personnellement LINQ to SQL depuis un certain temps, mais j'ai utilisé ce remplacement tel quel du générateur T4, qui a produit l'équivalent du générateur .dbml standard.
https://github.com/damieng/L2ST4
Je ne sais pas si c'est à jour avec la version VS 2010, mais vous pouvez toujours comparer la norme .dbml code généré et cette sortie T4 et apporter des modifications appropriées pour obtenir des résultats identiques.
Bien sûr, vous pouvez simplement avoir plusieurs générateurs différents, et simplement les exécuter avec "Transformer tous les modèles", mais en fonction de votre question, vous voudriez que le générateur soit attaché à l'outil personnalisé spécifique au fichier.
Vous pourriez vouloir vérifier (à moins qu'il ne vous soit déjà familier) également la boîte à outils T4 https://github.com/olegsych/T4Toolbox qui ajoute l'outil personnalisé "T4ScriptFileGenerator" à un fichier. Il exécute effectivement le code T4 lorsque le fichier change.