【发布时间】:2014-07-03 01:33:36
【问题描述】:
我正在尝试完成与SO Question 中描述的相同的事情。但是,回复中提到的解决方案并不能解决我的问题。
向我公开的 API 使用以下示例,出于特定目的而缩短
IList results = CurrentSession.CreateSQLQuery("exec myStoredProc ...")
.SetParameters("..", ...)
.SetResultTransformer(new NHibernate.Transform.AliasToEntityMapResultTransformer())
.List();
然而,我需要这是一个 T 类型的特定对象,它是一个自定义对象。我尝试将其更改为使用 NHibernate List T() 但也没有运气。
如果我尝试强制转换,我通常会看到一条错误消息,指出 无法将“System.Collections.Hashtable”类型的对象大小写为“...”
有没有人遇到过类似的问题,并且知道如何将其转换/转换为与 System.Collections.Hashtable 不同的类型。我的主要目标是我需要使用 LINQ 语句来查询结果,并且不能用他代码返回的 IList 来做到这一点。
我正在尝试按原样使用 API 而不会更改,因为这已经在其他地方用于消费应用程序。因此,如果有一种方法可以使用 IList 并对其进行转换/转换,那是最好的。我知道这可能是由于使用了 NHibernate.Transform.AliasToEntityMapResultTransformer 而发生的。
感谢您的任何见解。我已经用谷歌搜索并搜索了这个,但到目前为止还没有找到答案。
【问题讨论】:
标签: c# linq nhibernate casting