Hello,

Après lecture de la traduction de l'article de Rudy Lacovara par Skalp, j'ai donc allégé mes DTO's (qui donc n'étaient pas de vrais DTO's) et je passe maintenant des POCO's à la couche GUI.

Un exemple vite faite d'un DTO et de son POCO :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
Public Class PersonDTO
    Public Property Lastname as String
    Public Property Firstname as String
    Public Property Birthdate as Datetime
 
    Public Sub New()
    End Sub
End Class
 
Public Class PersonPOCO
    Public Property DTO as PersonDTO
 
    Public Sub New(dto as PersonDTO)
        Me.DTO = dto
    End Sub
 
    'et ici viennent les appels aux méthodes de persistances 
    'et autres méthodes/fonctions utilitaires.
End Class
Ma GUI reçoit donc la classe PersonPOCO. Avant, quand elle recevait PersonDTO, pas de souci pour afficher la liste dans un DataGridView. Je mettais une liste en datasource et j'ajoutais les colonnes moi-même en spécifiant pour chacune d'elle la propriété à afficher à l'aide de la propriété DataPropertyName (de type string) de la classe DataGridViewColumn.

Comment faire cela avec un POCO ?

Si je passe une liste de PersonPOCO en DataSource, le DataGridView ne contiendra qu'une seule colonne avec DTO comme header et PersonDTO comme contenu à chaque ligne.

Y a-t-il une solution en continuant à utiliser les POCO's ? (je pourrais parfaitement avant d'afficher, prendre le dto de chaque poco et en faire une liste pour la filer au DGV mais bon...)