Générer de la classe à partir de la table de base de données

Comment puis-je créer une classe à partir d'une table SQL Server objet?

Je ne parle pas de l'aide de certains ORM. J'ai juste besoin de créer des entités (classe simple). Quelque chose comme:

    public class Person 
    {
        public string Name { get;set; }
        public string Phone { get;set; }
    }

Donné quelques table:

+----+-------+----------------+
| ID | Name  |     Phone      |
+----+-------+----------------+
|  1 | Alice | (555) 555-5550 |
|  2 | Bob   | (555) 555-5551 |
|  3 | Cathy | (555) 555-5552 |
+----+-------+----------------+

  • Pourquoi ne pas laisser Entité Cadre de générer les classes pour vous, mais il suffit de ne pas utiliser les classes qui ont à faire avec la base de données d'accès?
  • Je ne pouvais pas d'accord avec @John Saunders plus. Je l'ai fait moi-même manuellement dans le passé, mais c'est juste trop de temps. EF juste-t-il droit la première fois dans la plupart des cas. Si non, le fait de modifier les classes générées est donc beaucoup moins de temps que de le faire tout vous-même. J'ai de meilleures choses à faire avec mon temps que d'écrire le code qu'un ORM générateur peut le faire pour moi. Je comprends une aversion pour le code généré, mais en échange dans le temps (et le coût) de l'épargne est tellement la peine, au moins pour moi.
  • Je pense que EF serait en effet la meilleure solution. Une autre possibilité serait de Classes LINQ to sql. Vous venez d'ajouter à votre projet et lui donner une connexion de base de données. Ensuite il vous suffit de sélectionner les tables dont vous avez besoin et il vous permettra de certaines classes pour vous.
  • Dans la pratique, l'EF n'est pas toujours la meilleure solution dans chaque cas. Pour un exemple, il pourrait y avoir plusieurs développeurs inexpérimentés qui font de la crasse, des modifications au fichier edmx qui cause des conflits de version pour le moins... Aussi, cette option peut ne pas toujours être disponible. Par exemple, le responsable technique tout simplement ne peut pas vous voulez l'utiliser pour quelque raison que ce soit.
  • gist.github.com/joey-qc/6710702
InformationsquelleAutor Gui | 2011-05-03