我正在執行一個QueryOver查詢,並有一個限制線索有效地做了一個WHERE IN cluase。Nhibernate和一個限制在哪裏的ids的大名單
如果我將有成千上萬的結果從內部查詢返回,這顯然是一個緩慢的查詢吧?
public List<SomeEntity> GetByIds(List<Guid> listOfIds)
{
return NHibernateHelper.Session.QueryOver<SomeEntity>()
.WhereRestrictionOn(x => x.id).IsIn(listOfIds)
.List();
}
是否有可能將其轉換成一個INNER JOIN不知何故?
是來自一個與'SomeEntity',外鍵和/或導航屬性的關係對象'listOfIds'?而且,如果是這樣,你可以通過其他任何方式選擇這些相關對象,然後是「IsIn」嗎? –