Pregunta

¿hay alguna herramienta o de la colada (conjunto de mapper) para construir objetos comerciales de entidades (que se obtienen de DB usando linq -> sql, marco de la entidad o lo que sea ..)

en la ausencia de uno, puede alguien sugerir la mejor manera que se puede realizar en lugar puede copiar pegar las propiedades (lo que estoy haciendo en este momento) de las clases de entidad.?

Vijay

¿Fue útil?

Solución

Asignar a los objetos de negocio mediante la proyección. Esto funciona incluso si los objetos de negocio POCO tienen una forma diferente de sus entidades.

var q = from dataObject in Context.DataObjects
        select new BusinessObject
        {
            Name = dataObject.Name,
            RelatedObjectName = dataObject.RelatedObject.Name, // works even if RelatedObject is null
            DirectChildren = from c in dataObject.Children
                             select new ChildBusinessObject
                             {
                                 Name = c.Name
                                 // etc.
                             }
            GrandChildren = from c in dataObject.Children
                            from gc in c.Children
                            select new ChildBusinessObject
                            {
                                Name = c.Name
                                // etc.
                            },
            // etc.
        };

Otros consejos

Esto no está respondiendo directamente a sus preguntas - pero para proyectos menos complicados que utilizan este producto http : //www.devexpress.com/Products/NET/ORM/ (.NET Object-Relational Herramienta Mapper de DevExpress)

Ejemplo de uso de AutoMapper, cmapper ser una clase Meldmapping,

 cMapper.FillBusinessObject(ViewModel, BusinessObject);  // To map from ViewModel to BO

 cMapper.FillModel(BusinessObject, ViewModel);  // To map from BO to ViewModel

Gracias por votar:)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top