我有一個名爲Incident
的實體和一個名爲IncidentDTO
的DTO。現在,只需IncidentDTO
看起來是這樣的:如何停止AutoMapper使用NHibernate創建兩個相同的SELECT語句?
public class IncidentDTO : Incident
{
// empty until I can get AutoMapper working correctly
}
我想拉的所有Incidents
列表在數據庫中,使用此代碼並將其轉換爲DTO的:
Mapper.CreateMap<Incident, IncidentDTO>();
using (var session = SessionFactory.OpenSession())
{
var incidents = session.Linq<Incident>();
var incidentDTOs = Mapper.Map(incidents, new List<IncidentDTO>());
}
此代碼工作很好,除了當我用NHProf看看生成的SQL語句,我得到這個:
SELECT ... FROM [Incident] this_
SELECT ... FROM [Incident] this_
兩個SELECT語句完全相同。爲什麼AutoMapper會生成兩個相同的SELECT語句,我該如何阻止它執行此操作?
這樣做,謝謝!我沒有考慮首先枚舉查詢。至於未綁定的設置,這不是一個問題,因爲我沒有預見「事件」數量會超過200。 – 2010-09-18 00:05:54