在NHibernate中使用IQuery CreateQuery性能很慢

时间:2013-05-21 09:37:43

标签: c# sql-server-2008 nhibernate

我正在使用CreateQuery,CreateSqlQuery& amp;个createCriteria。当我使用这些来获取数据时,它至少需要4-5秒。但是当我在查询编辑器中为SQL Server Management Studio运行相同的查询时,它会在不到一秒的时间内执行。我试过谷歌搜索但无法找到解决方案。我有点困惑为什么NHibernate花了这么多时间来执行简单的查询。

以下是必需的代码

public IList<MasterForecastInputSourceMatch> GetMasterForecastInputSourceMatchInfo(Guid  elementId)
{
    var selectQuery = _session.CreateQuery("from MasterForecastInputSourceMatch where ElementInputInfo.Id = :id")
                              .SetParameter("id", elementId);

    return selectQuery.List<MasterForecastInputSourceMatch>();
}

对于CreateCriteria

public virtual IQueryable<TPersistentType> QueryableList()
{
    return Session.CreateCriteria(typeof(TPersistentType))
                  .List<TPersistentType>().AsQueryable();
}

由于

0 个答案:

没有答案