2010-05-07 7 views
3

Quel est le problème avec les entités (lorsque vous parlez de l'Entity Framework)? D'après ce que je comprends, c'est à peu près une représentation en mémoire d'un magasin de données comme les tables sql. Les entités sont assez intelligentes pour suivre les modifications et appliquer ces modifications au magasin de données. Y a-t-il quelque chose de plus?Qu'est-ce qu'une entité? Pourquoi est-ce appelé entité?

Merci d'avance.

Répondre

6

Il vient du domaine de l'ingénierie des systèmes où il utilise l'outil Entity Relationship Diagram pour concevoir des systèmes. Ce qu'ils font est de commencer par disposer les entités (des choses comme les clients, les commandes d'achat, les éléments de campagne de commande d'achat, etc.). Chaque entité est une chose conceptuelle. Ensuite, vous créez généralement une classe d'entité pour chaque entité et une table de base de données en tant que banque de sauvegarde. Ce que le framework d'entité vous permet de faire est de prendre un schéma de base de données, en supposant que c'est déjà une bonne représentation de votre diagramme d'entité, et de générer automatiquement des classes d'entités pour les encapsuler. Comme une entité est une abstraction des choses réelles dans votre système, en créant une classe pour chaque entité, c'est une bonne façon d'architecturer votre système pour mettre le code approprié pour chaque entité au bon endroit. La façon dont le framework fonctionne est qu'il crée deux fichiers: un fichier généré automatiquement qui correspond aux champs de la base de données, et un fichier "personnalisé" où vous pouvez mettre une logique personnalisée. Ceux-ci sont définis comme des fichiers de classe partiels, donc ils sont réunis au moment de la compilation pour former une classe, mais cela permet à votre accès aux données et à votre logique métier de rester agréable et séparé. Vous pouvez ensuite générer de nouveau le côté partiel généré automatiquement de la classe chaque fois que votre schéma de base de données (diagramme de relation d'entité) change.

Autres fonctionnalités intéressantes:

  • Le cadre comprend les relations entre les entités, donc une fois que vous avez une entité « bon de commande », vous pouvez saisir automatiquement tous les éléments d'achat en ligne de commande (il est juste une propriété du entité qui renvoie une collection)
  • Vous pouvez implémenter l'héritage d'entité (par exemple, un salarié peut hériter d'un contact)
  • Linq to Entities!
+0

Je suis en mesure de le faire avec le studio de gestion SQL pour un certain temps maintenant: http://windowsdevcenter.com/windows/2006/04/18/graphics/DBDiagram.gif Est-ce le schéma ci-dessus considéré comme un diagramme entité-relation? Merci. – rkrauter

+0

@rkrauter: C'est un schéma de base de données, mais je l'ai également appelé ERD. Un véritable outil ERD au niveau de l'entreprise, comme celui de Visio Enterprise Architect, comporte de nombreuses fonctionnalités avancées. –