Ich habe diese Abfrage, die 7 Zeilen zurückgibt und 4ms in der Datenbank aber 1075ms zu instanziieren. Das ist nur ein Beispiel der Zeit und es variiert auf den Objekten, aber es scheint nicht sinnvoll, dass es so lange dauert. Irgendwelche Hinweise, wie man die Geschwindigkeit erhöht?Liste <int> dauert lange instanziieren mit Nhibernate Kriterien
var criteria =
GetSession().CreateSQLQuery(
@"
select circt_id as CircuitId from normal_upstream
where dni_equip_type = 'A'
start with up_equip_stn_no in (:UpStationNo1)
connect by prior equip_stn_no = up_equip_stn_no
union
select circt_id as CircuitId
from normal_upstream
where up_equip_stn_no in (:UpStationNo1)")
.AddScalar("CircuitId", NHibernateUtil.Int32).SetParameterList("UpStationNo1",upstreamStations)
.List<int>()
SQL Query erzeugt
select
circt_id as CircuitId
from normal_upstream
where dni_equip_type = 'A'
start with up_equip_stn_no in (
'B' /* :p0 */)
connect by prior equip_stn_no = up_equip_stn_no
union
select
circt_id as CircuitId
from normal_upstream
where up_equip_stn_no in (
'B' /* :p1 */)
Jede Hilfe sehr geschätzt wird. Danke
Dauert es dieses lange jedes Mal, es oder einfach nur das erste Mal ausgeführt wird? Welchen Byte-Code-Generator verwendest du? – jonnii
@jonnii, Es dauert jedes Mal sehr lange. Der Byte-Code ist auch NHibernate.ByteCode.Castle. – Gage
@Gage was passiert, wenn Sie es ändern, um ein IEnumerable anstelle von IEnumerable zurückzugeben und List() verwenden? –
jonnii