Entity Framework
Transcription
Entity Framework
Entity Framework Par : Mme A. RETBI 2014-2015 TP3: MVC Models Développer le modèle Utiliser des annotations d’affichage des données Validation des entrées des utilisateurs par des annotations de données 1 Développer le modèle Photo Comment -PhotoID : int -Title : string -PhotoFile : byte -Description : string -CreatedDate : object -Owner : string -CommentID : int -User : string -Subject : string -Body : string -PhotoID : int 1 0..* public class Photo { public int PhotoID { get; set; } public string Title { get; set; } public byte[] PhotoFile { get; set; } public string Description { get; set; } public DateTime CreatedDate { get; set; } public string Owner { get; set; } public virtual List<Comment> Comments { get; set; } } Annotations d’affichage des données public class Photo { // other properties excluded [DisplayName("Picture")] public byte[] PhotoFile { get; set; } [DataType(DataType.MultilineText)] public string Description { get; set; } [DataType(DataType.DateTime)] [DisplayName("Created Date")] [DisplayFormat(DataFormatString = "{0:dd/MM/yy}"] public DateTime CreatedDate { get; set; } } 2 Validation des données public class Person { public int PersonID { get; set; } [Required(ErrorMessage="Please enter a name.")] public string Name { get; set; } [Range(0, 400)] public int Height { get; set; } [Required] [DataType(DataType.EmailAddress)] public string EmailAddress { get; set; } } TP3 (suite): Entity Framework Définition Les différentes approches d’Entity Framework 3 Qu’est ce que Entity Framework? Définition Entity Framework est la solution de mapping objet-relationnel proposée par Microsoft. But : − fournir la couche d'abstraction nécessaire aux développeurs pour qu'ils n'accèdent plus directement à la base de données. − Applications libérées des dépendances codées en dur BD Les différentes approches 4 Database First vs Model First Database first (BD existante) se fonde sur une base de données existante Utilisation de EF Designer pour générer les classes en VB ou C# Model first (BD inexistante) modèle des entités via EF Designer Génération base de données et classes en VB ou C# Database First vs Model First 5 Code First Création simple des classes du domaine d’application ( que la BD soit existante ou pas) Permet : Développer sans avoir besoin du Designer ni fichier XML de mapping Définir les objets du modèle selon la méthode « Plain Old CLR Objects » sans nécissiter les classes de base Synthèse Designer Centric Model First New Database Existing Database • • • Create .edmx model in designer Generate database from .edmx Classes auto-generated from .edmx Code Centric Code First • • Define classes & mapping in code Database auto-created at runtime Database First Code First • • • Reverse engineer .edmx model Classes auto-generated from .edmx Define classes & mapping in code (Reverse engineer tools available) 6