Introduction :
Entity Framework est un modèle conceptuel de données permettant de raisonner sur une vue conceptuelle et non sur les schémas de stockage des données
Pratique:
1. L’application est composée de deux projets :
* Projet Bibliothèque de Classes(Class Library)(Soit ModelFirst( nom du projet))
*Autre Projet (Console ou WinForm,...)(Projet n°2)
RQ: 1) Ajouter Le project ModelFirst comme élément(Item) dans Projet 2.
2)Copier le fichier App.config dans Le projet 2
3) Ajouter au projet 2 La référence :System.Data.Entity
---
A)Création d'Entity DATA Model :
-Créer le dans le projet Library.
-Création des tables :
Remarque:
1)Pour Ajouter table : Cliquer Droite dans le milieu de l'interface>>Add>>Entity..
2) Pour Ajouter Colonne : Cliquer Droite Sur La table >>Add>>Scalar Property.
3) Pour Que l'id soit incrémenté automatiquement , il faut que : StoreGeneratedPattern=Identity
4.png
4) Entre Person et Session ,il ya une association 1..*
5)Entre Session et WorkShop, il y a l'héritage(Worksghop hérite)
5.png
6.png
B-Générer La Base De Données à partir de modele edmx:
-Régler les paramètres :
Voici Le code SQL généré :
-- --------------------------------------------------
-- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure
-- --------------------------------------------------
-- Date Created: 11/27/2011 21:00:14
-- Generated from EDMX file: D:\gl4\sim1\2.Frameworks de Développement\workSpaceDotNet\tp2\premierPas\ModelFirst\ModelFirst\Model1.edmx
-- --------------------------------------------------
SET QUOTED_IDENTIFIER OFF;
GO
USE [Insat];
GO
IF SCHEMA_ID(N'abdennour') IS NULL EXECUTE(N'CREATE SCHEMA [abdennour]');
GO
-- --------------------------------------------------
-- Dropping existing FOREIGN KEY constraints
-- --------------------------------------------------
-- --------------------------------------------------
-- Dropping existing tables
-- --------------------------------------------------
-- --------------------------------------------------
-- Creating all tables
-- --------------------------------------------------
-- Creating table 'People'
CREATE TABLE [abdennour].[People] (
[Id] int IDENTITY(1,1) NOT NULL,
[Name] nvarchar(50) NOT NULL
);
GO
-- Creating table 'Sessions'
CREATE TABLE [abdennour].[Sessions] (
[Id] int IDENTITY(1,1) NOT NULL,
[Name] nvarchar(max) NOT NULL,
[Minute] int NOT NULL,
[PersonId] int NOT NULL
);
GO
-- Creating table 'Sessions_Workshop'
CREATE TABLE [abdennour].[Sessions_Workshop] (
[Id] int NOT NULL
);
GO
-- --------------------------------------------------
-- Creating all PRIMARY KEY constraints
-- --------------------------------------------------
-- Creating primary key on [Id] in table 'People'
ALTER TABLE [abdennour].[People]
ADD CONSTRAINT [PK_People]
PRIMARY KEY CLUSTERED ([Id] ASC);
GO
-- Creating primary key on [Id] in table 'Sessions'
ALTER TABLE [abdennour].[Sessions]
ADD CONSTRAINT [PK_Sessions]
PRIMARY KEY CLUSTERED ([Id] ASC);
GO
-- Creating primary key on [Id] in table 'Sessions_Workshop'
ALTER TABLE [abdennour].[Sessions_Workshop]
ADD CONSTRAINT [PK_Sessions_Workshop]
PRIMARY KEY CLUSTERED ([Id] ASC);
GO
-- --------------------------------------------------
-- Creating all FOREIGN KEY constraints
-- --------------------------------------------------
-- Creating foreign key on [PersonId] in table 'Sessions'
ALTER TABLE [abdennour].[Sessions]
ADD CONSTRAINT [FK_PersonSession]
FOREIGN KEY ([PersonId])
REFERENCES [abdennour].[People]
([Id])
ON DELETE NO ACTION ON UPDATE NO ACTION;
-- Creating non-clustered index for FOREIGN KEY 'FK_PersonSession'
CREATE INDEX [IX_FK_PersonSession]
ON [abdennour].[Sessions]
([PersonId]);
GO
-- Creating foreign key on [Id] in table 'Sessions_Workshop'
ALTER TABLE [abdennour].[Sessions_Workshop]
ADD CONSTRAINT [FK_Workshop_inherits_Session]
FOREIGN KEY ([Id])
REFERENCES [abdennour].[Sessions]
([Id])
ON DELETE NO ACTION ON UPDATE NO ACTION;
GO
-- --------------------------------------------------
-- Script has ended
-- --------------------------------------------------
No comments:
Post a Comment