Re Hello,
Ce post fait suite à mon dernier en fait... Sur le fait que la DAL puisse retourner directement des objets de type DTO (sans mapper).
Parce qu'en fait j'avais fait un projet de test. Avec Trois tables en bases de données, j'ai mes DTO, ma DAL tout ça.
Et (je ne sais pas comment j'ai fais), mais lorsue je je fais du link dans la DAL, ça me retourne directement des DTO.
Et ça marche !!! J'ai pu éditer les enregistrements en base de données sans problème.
En creusant, j'arrive sur le fichier Model.context.vb, et les types déclarés sont de type DTO, ça ressemble à ça :
où le DBset(Of Client), le CLient est de type DTO.Client....
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 Imports System Imports System.Data.Entity Imports System.Data.Entity.Infrastructure Partial Public Class TESTEntities Inherits DbContext Public Sub New() MyBase.New("name=TESTEntities") End Sub Protected Overrides Sub OnModelCreating(modelBuilder As DbModelBuilder) Throw New UnintentionalCodeFirstException() End Sub Public Overridable Property Client() As DbSet(Of Client)
Or quand j'ai commencé un nouveau projet, ce type là est de type DAL.Client.
Pour tester, dans le nouveau projet je force le type :
Il est d'accord... Donc je me demande comment dans un projet il pointe sur DTO, et dans l'autre la DAL...
Code : Sélectionner tout - Visualiser dans une fenêtre à part Public Overridable Property Client() As DbSet(Of DTO.Client)
J'ai regarder les fichiers Context.tt des deux projets ... ils sont pareils...
Il y a forcement un truc que j'ai fais dans le premier projet, et pas dans le deuxième... Je vois pas quoi...
Si quelqu'un a une idée, je suis preneur.
Partager