繁体   English   中英

NHibernate的LINQ等同于SQL和EF的Translate <T> ()

[英]NHibernate's equivalent of LINQ to SQL's and EF's Translate<T>()

我有一个查询,由于性能原因,我需要使用原始ADO.NET编写实际命令(它涉及表值参数)。 使用LINQ to SQL或EF,我可以简单地将DbCommand.ExecuteReader()返回的DbDataReader传递给DataContext.Translate<T>(DbDataReader)ObjectContext.Translate<T>(DbDataReader)方法,它将转换结果-设置为对象,返回IEnumerable<T>

NHibernate中是否有等效的API,我可以传递DbDataReader / IDataReader甚至DbCommand / IDbCommand并返回NHibernate实体?

也许有一种方法可以拦截由ISession.CreateQuery(string)创建的命令的构造,以便我可以修改基础的DbCommand使其按需要的方式工作?

您可能可以创建一个自定义UserType来处理表值参数。

NHibernate不会在任何公共方法中公开DataReader->实体转换。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM