Outils pour les objets métier mapping (objets DTO) des entités dans asp.net mvc?
-
20-09-2019 - |
Question
est-il un outil ou utilitaire (assemblage de mappeur) pour construire des objets d'affaires des entités (qui sont obtenus à partir de DB en utilisant LINQ -> sql, cadre d'entité ou tout ..)
en l'absence d'un, peut-on suggérer la meilleure façon qui peut être accompli plutôt peut copier coller les propriétés (ce que je fais en ce moment) des classes d'entités.
La solution
Vous associez à des objets d'affaires en projetant. Cela fonctionne même si vos objets métier POCO ont une forme différente de celle de vos entités.
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.
};
Autres conseils
Ce ne répond pas directement à vos questions - mais pour des projets moins complexes que j'utiliser ce produit http : //www.devexpress.com/Products/NET/ORM/ (objet relationnel .NET Mapper Outil de DevExpress)
Exemple d'utilisation Automapper, cmapper étant une classe Meldmapping,
cMapper.FillBusinessObject(ViewModel, BusinessObject); // To map from ViewModel to BO
cMapper.FillModel(BusinessObject, ViewModel); // To map from BO to ViewModel
Merci pour votre vote:)