2009-08-02 10 views
2

Je voudrais ajouter la journalisation de base et apporter quelques modifications mineures aux classes générées par SubSonic 2.1 (je n'utilise pas les modèles SubSonic 3.0 t4).comment modifier la génération de code SubSonic 2.1

Y at-il un moyen de le faire sans modifier le code source SubSonic?

+0

Si vous utilisez RepositoryRecord, vous pouvez ajouter l'audit/la consignation à une classe de base de référentiel. [Je l'ai démontré sur mon blog] (http: // john-sheehan.com/blog/comment-je-utilise-subsonic-part-3-cache-and-query-auditing /). –

Répondre

5

Vous avez deux choix. Vous pouvez modifier les modèles par défaut ou créer les vôtres. Je suggère de faire vos propres modèles qui seront côte à côte avec l'original et ensuite générer votre code via les instructions suivantes. Notez que ces étapes supposent que vous avez exécuté l'installation SubSonic par défaut. En d'autres termes, Sonic.exe et les modèles par défaut peuvent être trouvés sous c: // program files /. Sinon, vous trouverez vos fichiers/modèles SubSonic dans un autre emplacement d'installation, bien sûr.

  1. Faites une copie du dossier de modèles par défaut que l'on trouve dans C: \ Program Files \ SubSonic \ SubSonic 2.1 Final \ src \ SubSonic \ CodeGeneration \ Modèles. Je pourrais recommander de nommer le dossier copié "TemplatesWithLogging".
  2. Ouvrez les fichiers ASPX dans Visual Studio et modifiez le contenu de votre coeur.Par exemple, je voulais un autre modèle de classe C# J'ai donc modifié CS_ClassTemplate.aspx. modifier les modèles par défaut, vous pouvez mais je suggère de faire une sauvegarde d'abord
  3. Je vais supposer que vous êtes déjà familier avec la génération de code avec SubSonic Personnellement, j'aime configurer un outil externe Visual Studio pour permettre rapide, pré La régénération configurée Sinon, les instructions suivantes peuvent être transférées sur la ligne de commande: Voici les instructions de configuration de l'outil externe:

    • Outils> Outils externes> Ajouter Titre: TemplatesWithLogging

    • Classes SubSonic Commande: C: \ Program Files \ SubSonic \ SubSonic 2.1 Final \ subcommander \ Arguments: generate/out généré/espace de nommage NAMESPACE/serveur/serveur db DATABASE où NAMESPACE, SERVER et DATABASE sont remplacés en conséquence.

    • Répertoire initial: $ (ProjectDir)

    • Cochez la case « Utiliser la fenêtre de sortie » et

    • Sélectionnez Appliquer ou OK

4 « Demander les arguments. » .Sélectionnez le projet qui contiendra le dossier "Généré" et les fichiers générés automatiquement. Sélectionnez Outil> TemplatesWithLogging. Vous pouvez find more here.

1

Oui, vous pouvez modifier les modèles utilisés par la version 2, ils ne sont que des fichiers aspx. Les modèles sont stockés dans src \ SubSonic \ CodeGeneration \ Templates sous votre répertoire d'installation.

Ce blog va plus en détail:

http://johnnycoder.com/blog/2008/06/09/custom-templates-with-subsonic/

+0

@Adam - Tu m'as battu dessus! J'aurais dû juste résumer et lié à mon blog plutôt que de reformater la réponse pour SO. Voir ma réponse ci-dessous. :) Bien joué. –

Questions connexes