내 코드를 검토하십시오. 모든 Entity에 대해 서비스 클래스를 만들었는데 여기에서이 엔터티에 대한 모든 액세스 메서드를 넣습니다.이 메서드는 엔터티에서 DTO 클래스로의 변환을 수행합니다. 이 메소드는 웹 레이어 또는 bussines 메소드에서 호출됩니다. 내가 이러는거야? 아니면 다르게해야합니까?DTO 엔터티 - 엔터티 프레임 워크
서비스 방법 : 당신은 실제로 당신이 때문에 연기의 (돌아오고있는 IEnumerable을 사용하기 전까지 쿼리가 늘는 실제로 데이터베이스에
public static IEnumerable<OsobaDto> GetNakupyByOsoba(Guid guid)
{
using (FinanceEntities finance = new FinanceEntities())
{
var osoby = from o in finance.OsobaSet
where o.Nakupy.Any(n => n.idnakupu == guid)
select new OsobaDto
{
Id = o.idosoba,
Meno = o.meno,
Priezvisko = o.priezvisko,
Prijem = o.prijem,
Nakupy = o.Nakupy.Select(n => new NakupDto
{
IdNakupu = n.idnakupu,
Cena = n.cena,
Datum = n.datum
})
};
return osoby;
}
}
그리고
public class NakupDto
{
public Guid? IdNakupu
{
get;
set;
}
public Decimal Cena
{
get;
set;
}
public DateTime Datum
{
get;
set;
}
public IEnumerable<OsobaDto> Osoby
{
get;
set;
}
public OsobaDto Platil
{
get;
set;
}
가능하면 '일반적인 DTO 변환기'클래스를 공유 할 수 있습니까? –
AutoMapper를 사용하면 쉽게 작성할 수 있습니다. http://elegantcode.com/2009/10/06/automapper-introduction-and-samples-from-netdug/을 확인하십시오. – Restuta