none
Générer une classe automatiquement à partir d'une table de SQLServer RRS feed

  • Question

  •  

    Bonjour,

     

    je voudrai savoir s'il existe des méthodes efficaces et rapides (ou un logiciel) pour générer une classe à partir d'une table de sqlServer en VB.net (ou C#) plutot que de recopier à la main les divers champs et les accesseurs qui vont avec.

     

    J'ai vu qu'il y avait l'utilitaire xsd.exe pour générer la classe à partir du schéma xsd. N'y a-t-il pas moyen de créer la classe directement à partir de la table en environnement 2.0 ?

     

    Merci

    dimanche 18 janvier 2009 13:52

Réponses

  • Bonjour,

    Comme l'on très bien dit les personnes précédant mon post, vous pouvez :

    - Utiliser Linq To SQL et Linq To Entities (nécessite d'utiliser le .NET Framework 3.5 SP1).
    - Utiliser les DataSet typés. (.NET framework 2.0). L'inconvénient, c'est que vous obtiendrez des objets relationnels (idem qu'en base de données) et partant sur le même héritage (Chaque DataTable typé hérite de l'objet DataTable du NET Framework...etc).

    Vous pouvez aussi vous utilisez d'autres logiciels tiers. Mais vous pouvez créer votre propre outil personnalisé intégré à Visual Studio. Cela se fait très simplement un fois que l'on a bien exposé ce que l'on veut faire sur papier...

    http://gilles.tourreau.fr/dotnet/visual_studio/vs2005_2008_creation_dun_outil_personnalise_custom_tool.html

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    samedi 12 septembre 2009 14:28
    Modérateur

Toutes les réponses

  • Salut,

    je ne sais pas trop comment tu veux que le code soit généré mais si tu veux pouvoir l'utiliser avec Linq disons, il existe l'utilitaire SqlMetal.exe livré avec VS 2008 qui permet de créer un fichier .cs à partir d'une base de données de ton serveur. Le code généré est plutôt axé Linq. Tes toujours tu verras Stick out tongue

    "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\SqlMetal.exe" /server:[SERVER] /database:[DataBaseName] /pluralize /code:[LeFichier.cs] /user:[Login] /password:[Password]

    A toi de régler la bonne valeur des paramètres Wink
    mardi 20 janvier 2009 14:45
  •  

    Merci pour votre réponse,

     

    mais le problème est que je suis sous VS 2005 et je n'ai pas la possibilité d'utiliser Linq :-(

     

    comment peut-on faire sans linq ?

    mercredi 21 janvier 2009 20:52
  • Ah, désolé, dans ce cas, je ne saurais pas vous dire...
    mercredi 21 janvier 2009 21:00
  • Il faut peut-être rechercher dans les datasets typés (typed datasets). C'était assez facile de les générer sous VS 2003, mais je ne sais plus comment faire sou VS 2005. 

    Ca génère automatiquement une classe (sous type de dataset) qui contient toutes les propiétés typées relative à une datasource. 
    vendredi 20 février 2009 09:33
  • Bonjour,

    Comme l'on très bien dit les personnes précédant mon post, vous pouvez :

    - Utiliser Linq To SQL et Linq To Entities (nécessite d'utiliser le .NET Framework 3.5 SP1).
    - Utiliser les DataSet typés. (.NET framework 2.0). L'inconvénient, c'est que vous obtiendrez des objets relationnels (idem qu'en base de données) et partant sur le même héritage (Chaque DataTable typé hérite de l'objet DataTable du NET Framework...etc).

    Vous pouvez aussi vous utilisez d'autres logiciels tiers. Mais vous pouvez créer votre propre outil personnalisé intégré à Visual Studio. Cela se fait très simplement un fois que l'on a bien exposé ce que l'on veut faire sur papier...

    http://gilles.tourreau.fr/dotnet/visual_studio/vs2005_2008_creation_dun_outil_personnalise_custom_tool.html

    Cordialement
    Gilles TOURREAU - MVP C# - Architecte .NET/Consultant/Formateur
    samedi 12 septembre 2009 14:28
    Modérateur
  • Bonjour,

    J'ai developper un générateur de Code VB.Net

    www.database2code.com

    Tu peu l'essayer il est gratuit, nous somme 5 développeur à l'utiliser dans nos projet courement.

    a++

    seb

     

    mardi 30 mars 2010 13:26