請檢閱我的代碼。對於我的每一個實體,我都創建了一個服務類,在這裏我放置了這個實體的所有訪問方法。這個方法正在從實體到我的DTO類進行轉換。這些方法是從Web層或bussines方法調用的。我在做第三次嗎?或者我應該以不同的方式做?實體到DTO - 實體框架
的服務方法:
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;
}
}
而且DTO類
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轉換器'類嗎? – 2011-11-17 12:08:24
它可以使用AutoMapper輕鬆編寫。看看http://elegantcode.com/2009/10/06/automapper-introduction-and-samples-from-netdug/ – Restuta 2011-11-17 22:33:02