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

Documents pareils