Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework...

18
Développement d’application avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013

Transcript of Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework...

Page 1: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Développement d’application avec base de données

Semaine 3 : Windows Form avec Entité Framework

Automne 2013

Page 2: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Entité Framework, MVC et Windows Form… Entité Framework, BindingSource et Windows

Form Exercices TP #2

Plan de présentation

Page 3: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Présentation à Monsieur Alexandre Brazeau

Entité Framework, MVC et Windows Form…

Page 4: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

La finalité pour une application Windows Form est de lier les composants de façon à ce qu’ils interagissent avec la base de données.

Pour se faire, il existe trois façon de lier le datasource aux données : Lier directement à la base de données Lier avec un service Lier par des objets intermédiaires

Devinez lequel nous utiliserons

Entité Framework, BindingSource et Windows Form

Page 5: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Créer un ObjectDataSource: Aller dans Source de Données ajouter une nouvelle source de données

Entité Framework, BindingSource et Windows Form

Page 6: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Choisir le type objet

Entité Framework, BindingSource et Windows Form

Page 7: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Une fois faite, vous devriez avoirLes objets(entités) sélectionnésVous pouvez définir le comportement que Visual studio adoptera si vous faites du « Drag and Drop » d’éléments.Évidemment, vous n’êtes pas obligé de passer par le « Drag and Drop » pour lier les composants.

Entité Framework, BindingSource et Windows Form

Page 8: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Une fois faites, vous remarquez qu’un contactBindingSource est apparut.

Entité Framework, BindingSource et Windows Form

Page 9: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Mais en fait …

Entité Framework, BindingSource et Windows Form

Page 10: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Si on veut visualiser le contenue, il faut remplir le dataBindingSource. Ici, on ajoute tous les contact, mais il serait possible de filtrer la sélection.

Entité Framework, BindingSource et Windows Form

PROGRAMMINGEFDB1Entities _context = new PROGRAMMINGEFDB1Entities(); List<Contact> _contact; private void Form1_Load(object sender, EventArgs e) { try { _contact = _context.Contact.Include("Address").ToList(); contactBindingSource.DataSource = _contact; } catch (Exception ex) { Console.WriteLine(ex.Message); } }

Page 11: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Si on veut avoir accès au contact en cours, on le peut avec la commande:

Entité Framework, BindingSource et Windows Form

Contact currentContact = contactBindingSource.Current as Contact;

Page 12: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Si on veut naviguer dans notre sélection :

Entité Framework, BindingSource et Windows Form

private void btnSuivant_Click(object sender, EventArgs e) { contactBindingSource.MoveNext(); }

Page 13: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Comme les composants sont liés aux DataBindingSource, une modification entrainera la modification dans l’enregistrement du DataBindingSource.

Le DataBindingSource transférera ces modification au contexte.

Il ne restera plus qu’à demander au contexte de sauvegarder. (_context.SaveChanges();)

Par contre, avant de faire le SaveChanges, la littérature suggère que l’on arrête le mode d’édition du DataBindingSource (contactBindingSource.EndEdit();)

Entité Framework, BindingSource et Windows Form

Page 14: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Pour ajouter un enregistrement(+SaveChanges) :

Entité Framework, BindingSource et Windows Form

private void btnAjouter_Click(object sender, EventArgs e) { var newContact = contactBindingSource.AddNew() as Contact; newContact.AddDate = DateTime.Now; newContact.ModifiedDate = DateTime.Now; _context.Contact.Add(newContact); }

Page 15: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Pour supprimer(+SaveChanges):

Entité Framework, BindingSource et Windows Form

private void btnSupprimer_Click(object sender, EventArgs e) { Contact currentContact = (Contact)contactBindingSource.Current; if (currentContact != null) { _context.Contact.Remove(currentContact); contactBindingSource.Remove(currentContact); } }

Page 16: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Faite les exercices.

Exercice

Page 17: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Voir l’énoncé

Travail pratique

Page 18: Développement dapplication avec base de données Semaine 3 : Windows Form avec Entité Framework Automne 2013.

Questions?