我有一个查询,由于性能原因,我需要使用原始 ADO.NET 制作实际命令(它涉及表值参数)。使用 LINQ to SQL 或 EF,我可以简单地将DbDataReader返回的DbCommand.ExecuteReader()传递给DataContext.Translate<T>(DbDataReader)orObjectContext.Translate<T>(DbDataReader)方法,它将结果集转换为对象,返回一个IEnumerable<T>.
NHibernate 中是否有任何等效的 API,我可以通过DbDataReader/IDataReader甚至是DbCommand/IDbCommand并获取 NHibernate 实体?
或者也许有一种方法可以拦截由创建的命令的构造,ISession.CreateQuery(string)以便我可以修改底层DbCommand以按照我需要的方式工作?