ASP.NET MVC의 엔티티에서 비즈니스 객체 (DTO 객체)를 매핑하는 도구?
-
20-09-2019 - |
문제
엔티티에서 비즈니스 객체를 구성하는 도구 또는 유틸리티 (Mapper Assembly)가 있습니까 (LINQ-> SQL, 엔티티 프레임 워크 등을 사용하여 DB에서 얻은 것입니다.)
하나가 없으면 누구나 달성 할 수있는 가장 좋은 방법을 제안 할 수 있습니까?
해결책
투사하여 비즈니스 객체에 매핑됩니다. POCO 비즈니스 객체가 엔티티와 다른 형태를 갖는 경우에도 작동합니다.
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.
};
다른 팁
이것은 귀하의 질문에 직접 대답하지는 않지만 덜 복잡한 프로젝트의 경우이 제품을 사용합니다. http://www.devexpress.com/products/net/orm/ (Devexpress의 .NET 객체 관계 맵퍼 도구)
automapper를 사용하는 예, cmapper는 meldmapping 클래스입니다.
cMapper.FillBusinessObject(ViewModel, BusinessObject); // To map from ViewModel to BO
cMapper.FillModel(BusinessObject, ViewModel); // To map from BO to ViewModel
투표 해줘서 고마워 :)
제휴하지 않습니다 StackOverflow