Domanda

C'è qualche strumento o l'utilità (assemblaggio mapper) per la costruzione di oggetti di business da parte di soggetti (che si ottengono da DB utilizzando LINQ -> SQL, Entity Framework o qualsiasi altra cosa ..)

in assenza di uno, qualcuno può suggerire il modo migliore che può essere realizzato invece in grado di copiare incollare le proprietà (quello che sto facendo in questo momento) dalle classi di entità.?

Vijay

È stato utile?

Soluzione

Si mappare gli oggetti di business proiettando. Questo funziona anche se gli oggetti di business POCO hanno una forma diversa rispetto le vostre entità.

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.
        };

Altri suggerimenti

Questo non risponde direttamente alle vostre domande - ma per i progetti meno complessi Io uso questo prodotto http : //www.devexpress.com/Products/NET/ORM/ (NET Object-Relational Mapper utensili da DevExpress)

Esempio di utilizzo Automapper, cmapper essendo una classe Meldmapping,

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

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

Grazie per il voto:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top