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

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

Embed Size (px)

Citation preview

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?