Anda di halaman 1dari 10

15/10/2015

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

JhonnysLpezDevNinja.NET
BienvenidosamiblogsobretecnologaMicrosoft.NET:C#,WCF,ASP.NET,EntityFramework.

Consultarmiblog
Buscar...

SiguemispublicacionesvaEmail
Ingresaladireccindecorreoconlacualdeseasseguirmiblog.
neteaotros645seguidores
Introducetudireccindecorreoelectrnico
Seguirme!

ElAutordelBlog
jhonnys.lopez
AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#
WCFretornarunlistadodeentidadesEntityFrameworkconC#yVisualStudio11
ServiciosWCFconEntityFramework4.3.1C#yVisualStudio11
PartiendodelaBasedeDatosSchemaModelFirstEntityFramework4.3.1yC#
ProcedimientosAlmacenados,TransaccionesenEntityFramework4.3.1conC#yVisualStudio11

InsigniaFacebook
JhonnysLpezCeledon
Creatuinsignia

BDotNet
BDotNet

BDotNet

MCSColombia
MicrosoftCommunity
Specialist

MCSColombia

Temasquemeinteresan
Arquitectura(1)
EntityFramework(11)
WCF(3)

MiTwitter
Webuildthethingwrong,orwebuildthewrongthing.BySteveSmith@ardalisEl:8monthsago
Yoeraunduroenestaguaenmistiemposjajaja:(todosmejoramosAnIdiotsGuidetoReallyReallyBadProgramming
codeproject.com/Articles/55892El:8monthsago
"YourcodeissoabstractitdeservebeingputintheMuseumforModernArt."LOLCuandonospasamosconlasabstracciones
@nicolocodevEl:8monthsago
file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

1/10

15/10/2015

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

@nicolocodev:)felicitacionesEl:1yearago
Excelentemegustaramuchocuentenconmigo@nicolocodev@jorgegamba@ralvaradot@julitogtu@JuanKRuiz@ManquipEl:
1yearago
@jramirezdevsiclaronosvemosall:)El:1yearago
@jramirezdevjajajajayaahoraslosobercoding.El:1yearago
RT@_PedroHurtado:Apostepor#nodejs#angularjsacertydespusmelajuguenproduccincon#metrouicssmetroui.org.uayahora
El:1yearago
@jramirezdevcompadreandodevacacionesenValleduparechandoASMconOldParrEl:1yearago
@Varo_Julio@BerttyJulioesoestabaapuntodeescribir,quemetengasunaasesperndome.El:1yearago

MisArchivos
julio2012(1)
May2012(3)
abril2012(7)

PublicacionesRecientes
AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#
WCFretornarunlistadodeentidadesEntityFrameworkconC#yVisualStudio11
ServiciosWCFconEntityFramework4.3.1C#yVisualStudio11
PartiendodelaBasedeDatosSchemaModelFirstEntityFramework4.3.1yC#
ProcedimientosAlmacenados,TransaccionesenEntityFramework4.3.1conC#yVisualStudio11
ManejandoRelacionesconEntityFramework4.3.1CodeFirstFluentAPIconC#yVisualStudio11
ManejandoRelacionesconEntityFramework4.3.1CodeFirstconC#yVisualStudio11
FluentAPIEntityFramework4.3.1conC#yVisualStudio11
CambiarCadenadeConexinEntityFramework4.3.1conC#yVisualStudio11
EntityFramework4.3.1DataAnnotationsconC#yVisualStudio11
IntroduccinaEntityFramework4.3.1CodeFirstconC#VisualStudio11

C#EntityFrameworkWCF

Arquitectura

PublicaionesPopulares
AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#
ProcedimientosAlmacenados,TransaccionesenEntityFramework4.3.1conC#yVisualStudio11
WCFretornarunlistadodeentidadesEntityFrameworkconC#yVisualStudio11
ServiciosWCFconEntityFramework4.3.1C#yVisualStudio11
PartiendodelaBasedeDatosSchemaModelFirstEntityFramework4.3.1yC#
ManejandoRelacionesconEntityFramework4.3.1CodeFirstconC#yVisualStudio11
ManejandoRelacionesconEntityFramework4.3.1CodeFirstFluentAPIconC#yVisualStudio11
IntroduccinaEntityFramework4.3.1CodeFirstconC#VisualStudio11
CambiarCadenadeConexinEntityFramework4.3.1conC#yVisualStudio11
FluentAPIEntityFramework4.3.1conC#yVisualStudio11

Meta
Registrarse
Acceder
RSSdelasentradas
RSSdeloscomentarios
WordPress.com
WCFretornarunlistadodeentidadesEntityFrameworkconC#yVisualStudio11|

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)Entity
Framework,WCFC#

16Votes

Luegoyadeunalargaausenciapormotivoslaboralesporfintengotiempodisponibleparacompartiralgunademisexperienciastrabajandocon.NET,
continuandoconmisltimaspublicacionesquepartierondeunaintroduccinaEntityFramework4.3.1hastallegaralpuntodehablarunpocode
serviciosconWCFWindowsCommunitacionFoundationanalizaremosalgunostemasquedebemostenerencuentayespecficamenteparasta
publicacinlacuestines:voyaretornaroaenviaratravsdemiserviciolasentidadesquehedeclaradoenminegocio?queenpocaspalabrassera
voyaexponermimodelodenegocioatravsdemiservicio?puedesonaralgodepocaimportanciaenalgunassituacionesperocuandoempezamosa
trabajarconsistemasmuchomsgrandesseconvierteenalgodeimportanteconsideracinelenviarmisentidadestalcualcomolashedefinidoenel
negocioesprcticamentedaraconocermiesquemadedatossiusounEntityFrameworkyestoymapeandoclaseportabla.Laintencinestambin
simplificartodoelsubsistemaquedeseoexponer,esdecirofrecerunafachadaounainterfacemssimple.
Veamosquetcnicaspodemosimplementarparaevitartodoesto.
DataTransferObjectsDTO:EsunobjetoelcualtransportainformacinatravsdeprocesosenstecasounWCF,enordenparareducirelnmero
dellamadasamtodos.
file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

2/10

15/10/2015

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

UnDTOnosayudatambinasimplificardemaneratalqueporejemplounaFacturaquetienereferenciasaunClienteyunoomsDetalleFacturase
puedesimplificaraunnicoobjetoesdecirenunFacturaDTOyasevitarenviardirectamentelaentidadfacturaatravsdelservicioyexponerenste
casonuestromodelodedatosymodelodenegocio.
TodoestolologramosescribiendounanuevaclasequecontendrtodaslaspropiedadesdenuestrasentidadesquedeseamosexponeratravsdelWCF:
EllaaplicacinquehevenidotrabajandodesdeeliniciodelaintroduccinaEntityFrameworkyatengounWCFparaexponeralgunosmtodos
veamoscomohacerusodelosDTOs.
Supongamosquedeseamosexponerunmtodoparaobtenerellistadodecursos,peropuedequequienconsumirelmtodononecesitetodala
informacindelcursocomotaloquesimplementeporalgnmotivodeintegridadnoentreguemostodalaentidadCursocomoest,paraello
crearemosunanuevaclasealaquellamarCuroDTOquecontendrlainformacinquedeseoexponer.
PrimeroveamoscomoestdefinidalaentidadCurso:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

namespaceDevNinja.EntityFramework.Negocio
{
publicclassCurso
{
publicintCursoId{get;set;}
publicstringNombre{get;set;}
publicDateTimeInicia{get;set;}
publicstringDuracion{get;set;}
publicDateTimeRegistrado{get;set;}
publicListRequisitos{get;set;}
publicListAsistenciasCurso{get;set;}

publicCurso()
{
Requisitos=newList();
AsistenciasCurso=newList();
}
}
}

CursoDTO:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

usingSystem;
usingSystem.Collections.Generic;

namespaceDevNinja.EntityFramework.Servicios.DTOs
{
[DataContract]
publicclassCursoDTO
{
publicCursoDTO()
{
Requisitos=newHashSet();
}

[DataMember]
publicICollectionRequisitos{get;set;}

[DataMember]
publicintCursoId{get;set;}

[DataMember]
publicstringNombre{get;set;}

[DataMember]
publicDateTimeInicia{get;set;}

[DataMember]
publicstringDuracion{get;set;}
}
}

RequisitoDTO:
1
2
3
4
5
6
7
8
9
10
11

usingSystem.Runtime.Serialization;

namespaceDevNinja.EntityFramework.Servicios.DTOs
{
[DataContract]
publicclassRequisitoDTO
{
[DataMember]
publicstringNombre{get;set;}
}
}

Puedenobservarquesloquieroexponeralgunosdatosdelcursosimplementelosnecesarios,veamosahoraelserviciodequemanerasera:
IServicioDevNinja:
file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

3/10

15/10/2015

1
2
3
4
5
6
7
8
9
10
11

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

usingSystem.Collections.Generic;

namespaceDevNinja.EntityFramework.Servicios
{
[ServiceContract]
publicinterfaceIServicioDevNinja
{
[OperationContract]
IEnumerableObtenerCursos();
}
}

ServicioDevNinja:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

usingSystem.Collections.Generic;
usingSystem.Data.Entity;
usingSystem.Linq;
usingDevNinja.EntityFramework.Datos;
usingDevNinja.EntityFramework.Negocio;
usingDevNinja.EntityFramework.Servicios.DTOs;

namespaceDevNinja.EntityFramework.Servicios
{
publicclassServicioDevNinja:IServicioDevNinja
{
privatereadonlyDevNinjaContexto_contexto;
publicServicioDevNinja()
{
_contexto=newDevNinjaContexto();
Database.SetInitializer(null);
}

#regionIServicioDevNinjaMembers

publicIEnumerableObtenerCursos()
{
//Obtengoellistadodecursosincluyendolosrequisitos.
varcursos=_contexto
.Cursos
.Include(c=>c.Requisitos)
.ToList();

//DebotransformarloscursosencursosDTO.
IListcursosDto=newList();

//LatransformacinoelprocesodeadaptarunCursoaunCursoDTO
//puedeseralgomuytediososegnlacantidaddepropiedadesque
//deseamosexponeratravesdelWCF.Manualmente.

foreach(Cursocursoincursos)
{
CursoDTOcursoDto=newCursoDTO
{
CursoId=curso.CursoId,
Duracion=curso.Duracion,
Inicia=curso.Inicia,
Nombre=curso.Nombre
};

foreach(Requisitorequisitoincurso.Requisitos)
{
cursoDto.Requisitos.Add(newRequisitoDTO
{
Nombre=requisito.Nombre
});
}
}

//RetornarloscursosDTO.
returncursosDto;
}

#endregion
}
}

PuedenapreciarcomoelhacerusodeDTOsparaalgunoscasosseralgomuylargodeadaptaryaquenostocaracrearlosDTOsdemaneramanual
sinembargohemoslogradoexponerslolonecesarioatravsdenuestroWCF:Aqupuedenverelservicioenaccincomoretornaellistadode
DTOs.

file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

4/10

15/10/2015

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

AhorahagamoseltrabajomuchomsfcilmedianteelusodeAutoMapperqueenpocaspalabrasnosayudademaneramuysencillaatransformaro
realizarelprocesodeadaptarunobjetoenotroyaquecomohanpodidoapreciarelconvertirlistadodecursosaunlistadodeDTOSdecursospuede
seralgotedioso.PrimerovoyausarNuGetparainstalaryreferenciarAutoMapperenmiproyectodeServicios:

VistadeAutoMapperreferenciado:

file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

5/10

15/10/2015

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

Ahoraslotengoqueestablecerdequemaneraseconvierteunobjetoaotroesdecirespecificarelmapadelosobjetosquedeseoconvertirdemanera
talqueAutoMapperapartirdedichomapaseacapazderetornarmeelobjetoquedeseo,paraellodebocrearunperfildemapasdondeespecificarde
quemanerasernrealizadalasconversiones:Crearunanuevaclasequecontendrtodalainformacindelmapeo,laclaseheredardeProfilede
AutoMapper:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

usingAutoMapper;
usingDevNinja.EntityFramework.Negocio;

namespaceDevNinja.EntityFramework.Servicios.DTOs
{
publicclassDevNinjaPerfil:Profile
{
publicoverridestringProfileName
{
get{return"DevNinjaPerfil";}
}

protectedoverridevoidConfigure()
{
Mapear();
}

privatevoidMapear()
{
//ParaconvertirdeunRequisitoaunRequisitoDTO,
//seharadelasiguientemanera:
Mapper.CreateMap<Requisito,RequisitoDTO>()

//t:Entidaddestino(RequisitoDTO).
//f:Etindadorigen(Requisito).
//r:Entidadorigen(Requisito).
//LapropiedadNombrelaentidaddestino,
//seraigualalapropiedadNombredelaentidadOrigen.

.ForMember(t=>t.Nombre,f=>f.MapFrom(r=>r.Nombre))

//LaconversionseratambienendobleviadeRequisitoDTOaRequisito.

.ReverseMap();

//ParaconvertirdeunCursoaunCursoDTOseharadelasiguientemanera:
Mapper.CreateMap<Curso,CursoDTO>()

//t:Entidaddestino(CursoDTO).
//f:Etindadorigen(Curso).
//c:Entidadorigen(Curso).
//LapropiedadCursoIdlaentidaddestino,
//seraigualalapropiedadCursoIddelaentidadOrigen
//yasiconcadaunadelapropiedades.

.ForMember(t=>t.CursoId,f=>f.MapFrom(c=>c.CursoId))
.ForMember(t=>t.Duracion,f=>f.MapFrom(c=>c.Duracion))
.ForMember(t=>t.Inicia,f=>f.MapFrom(c=>c.Inicia))
.ForMember(t=>t.Nombre,f=>f.MapFrom(c=>c.Nombre))

//CursoDTOtieneunacolecciondeRequisitoDTO,
//CursotieneunacolecciondeRequisito,pero
//yahemosespecificadocomosehacelaconversion
//deunRequisitoaunRequisitoDTOporloquepodemos
//especidicaresaconversion:

.ForMember(t=>t.Requisitos,f=>f.MapFrom(c=>c.Requisitos))

//Conversionendoblevia.
.ReverseMap();
}
}

63

file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

6/10

15/10/2015

63

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

AutoMapperesmuyperomuymuytilparastetipodeconversionesademsqueexponeunFluentAPIcomoyahemosvistoquetambientiene
EntityFrameworkasqueestaremosrelacionadosconeltema.Ahoraslovoyaestablecerelperfilunavezsellameelservicio,yharusodeest
excelenteherramienta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

usingSystem.Collections.Generic;
usingSystem.Data.Entity;
usingSystem.Linq;usingAutoMapper;
usingDevNinja.EntityFramework.Datos;
usingDevNinja.EntityFramework.Negocio;
usingDevNinja.EntityFramework.Servicios.DTOs;

namespaceDevNinja.EntityFramework.Servicios
{
publicclassServicioDevNinja:IServicioDevNinja
{
privatereadonlyDevNinjaContexto_contexto;

publicServicioDevNinja()
{
_contexto=newDevNinjaContexto();
Database.SetInitializer(null);

//Establecerelperfilconelqueseharanlasconversiones
//enAutoMapper.Sisipuedotenermuchoperfilesyreemplazarlosunoporotro.
Mapper.Initialize(t=>t.AddProfile());
}

#regionIServicioDevNinjaMembers

publicIEnumerableObtenerCursos()
{
//Obtengoellistadodecursosincluyendolosrequisitos.
varcursos=_contexto
.Cursos
.Include(c=>c.Requisitos)
.ToList();

//Heaquilamaravilla,puedomapeardeunalistaaotralista
//yenelperfildemapeosoloestablecemoscomohacelaconversion
//deununicoobjecto.
IEnumerablecursosDto=Mapper.Map<IEnumerable,
IEnumerable>(cursos);

returncursosDto;
}

#endregion
}
}

AhoratengounaherramientaquemeayudaaconvertirmisentidadesaDTOsyviceversayaslodeseo.
Nuestraaplicacinsiguefuncionandodelamismamaneraylasconversionesentreobjetossonmuysencillas.
Esperolesseadeutilidadynosleemosenunaprximapublicacin.

Compartesto:

Share

Megusta:

Relacionado
WCFretornarunlistadodeentidadesEntityFrameworkconC#yVisualStudio11En"EntityFramework"
ServiciosWCFconEntityFramework4.3.1C#yVisualStudio11En"EntityFramework"
PartiendodelaBasedeDatosSchemaModelFirstEntityFramework4.3.1yC#En"EntityFramework"
Postedon14dejuliode2012at12:06PMinArquitectura,EntityFramework,WCF|RSSfeed|Responder|TrackbackURL

file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

7/10

15/10/2015

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

Etiquetas:Arquitectura,C#,EntityFramework,WCF

8ResponsestoAdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)Entity
Framework,WCFC#

1.
carlos
7deagostode2012en1:25PM
0 0 RateThis
quetalJhonnybastantebuenotututorial,perotengounaduda,siempreesnecesarioespecificarquepropiedaddeorigenconquepropiedadde
destinoserelacionan,esdecirnoestariamoshaciendoelmismotrabajoquehacerelmapeosinelautomaper.
ocualesladiferencia,enalgunosblogveoquesolorelacionanlasclasesdeorigenydestinoynoasilaspropiedades.
estoyalgoconfundidoenestaparte,porfavorsimelapuedesaclarar.
graciasdeantemano.
Responder

jhonnys.lopez
7deagostode2012en2:46PM
1 0 RateThis
HolaCarlos,tienesraznnoesnecesarioespecificarlamaneracomoserealizaelmapeoenalgunoscasoscomoelqueexpongo.Laidea
esmostrarcomosehace,perohaycasosdondesiestotalmentenecesarioporejemplosupongamosquetenemosunaentidadennuestro
negociollamadaClientequetienelaspropiedadesNombreyApellido,tambintenemosunDTOllamadoClienteDTOperodichoDTO
solotienelapropiedadNombreesdecirelnombrecompletodelcliente.ConAutomapperpodemosespecificarquecuandoseconviertade
unClienteaunClienteDTOlapropiedadNombredelClienteDTOserigualalaconcatenacindelNombreyelApellidodelClienteen
esecasoesnecesarioespecificarcomoserealizalaconversin.
MiejemploesparailustrardequemanerasepuedeusarelFluentAPIdeAutomapper.
Gracias.
Responder
2.
Fede
10deagostode2012en5:51PM
0 0 RateThis
Buentutorial.
EncasodequererunareferenciaenRequisitoDTOaCursoDTO,estoyteniendoproblemas.
Supongoqueesporlareferenciaciclicaqueseforma.
Existeunaformadehacerlofuncionarcorrectamente?
Muchasgracias.
usingSystem.Runtime.Serialization
namespaceDevNinja.EntityFramework.Servicios.DTOs
{
[DataContract]
publicclassRequisitoDTO
{
[DataMember]
publicstringNombre{getset}
[DataMember]
publicCursoDTOCurso{getset}
}
}
Responder
3.
carlos
17deagostode2012en1:36PM
0 0 RateThis
QuetalJhonny.graciasporaclararmisdudasysiesbastantevalidoloscasosquetumencionas,graciasdenuevoymuybuenotublogsigue
adelante:)
Responder
file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

8/10

15/10/2015

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

4.
Ivan
4denoviembrede2012en1:58AM
0 0 RateThis
Buenasnochesjhonny,unaconsulta,comopuedeobtenerunresultadolinqyguardarloenunaclaseysurelacin,escomoquetengaunaclase
autoyperteneceauntipodeauto(relacionunoauno),cuandoquieromostrarenunalistaelnombredelautoysudescripciondetipo(noel
cdigodetipo).Ejm.
ClassA
{
atributoa1
atributoa2
atributob1//supongamoscdigodelaclaseB
atributoBB//pararelacionarconlaclaseB
}
ClassB
{
atributob1//cdigo
atributob2
}
IEnumerableitems
items=A
.Join(B,
a=>a.b1,
b=>b.b1,
(a,b)=>new{a,b})
//perotengoproblemasenlaconsultaconlinq,yaquenoreconocelainstanciadelaclaseB,lamayoradelosejemplosutilizanvaryloque
quieroesusarlasclasesquehecreadoynadadevar.Gracias,cualquierayudaserbienvenida.(ahoraelejemploesunarelacindeunoauno,
perotambinpuededarmeunejemplodeunoamuchos.).Gracias.
Responder

jhonnys.lopez
16denoviembrede2012en10:31PM
0 0 RateThis
Hola,nosesientendbientududa,perolacuestinesquealparecerestasretornandountipoannimoentuconsultaqueconstadelas
clasesAyB,supongamosqueloquedeseasesunaclasequecontengatodoslaspropiedadesdelaclaseA+algunaspropiedadesdela
claseBloquetienesquehaceres:
1IdealquetengasunaterceraclaseconlaspropiedadesquedeseasunirdeAyB:
ClassC
{
a1
a2
b1
b2
}
2enlaconsultaLinqcreaunanuevaClassC:
varclasesC=frommiAinA
joinmiBbinBonmiA.b1equalsmiB.b1
selectnewC
{
a1=miA.a1,
a2=miA.a2,
b1=miB.b1,
b2=miB.b2
}
destamanerapuederetornarunalistadeChaciaotrosmtodosocapasentuaplicacin.
Responder
5.
idmirsoft
16defebrerode2013en10:37AM
0 0 RateThis
Enelcasosiquisieramosconsultardatosde2basededatoscomoseariaelautomapper.

file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfer

9/10

15/10/2015

AdaptandodemanerasencillaconAutoMappernuestrosDataTransferObjects(DTO)EntityFramework,WCFC#|JhonnysLpezDevNinja.

Responder

Trackbacks
1. AgendadelaComunidadMSExpertos
31dejuliode2012en12:05PM

Tienesalgunaduda?Deseasopinarsobrestetema?Dejauncomentarioacontinuacin.
Introducetu
comentarioaqu...

Etiquetas

C#EntityFrameworkWCF

Arquitectura

Calendario
julio2012
L M X J V S D

1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
may

Archivos
julio2012
May2012
abril2012
CreaunblogounsitiowebgratuitosconWordPress.com.|EltemaUndertheInfluence.
Seguir

SeguirJhonnysLpezDevNinja.NET
Recibecadanuevapublicacinentubuzndecorreoelectrnico.
neteaotros645seguidores
Introducetudireccindecorreoelectrnico
Suscrbeme

ConstruyeunsitiowebconWordPress.com
A%dblogueroslesgustaesto:

file:///C:/Users/greg/Desktop/PLANTILLAS%20T4/Adaptando%20de%20manera%20sencilla%20con%20AutoMapper%20nuestros%20Data%20Transfe

10/10

Anda mungkin juga menyukai