我有一个查询,由于性能原因,我需要使用原始 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
以按照我需要的方式工作?