首页 新闻 会员 周边

关于NHibernate.Criterion.InExpressionde的转换问题

0
悬赏园豆:40 [已解决问题] 解决于 2019-09-23 09:43

今天查看代码log日志看到无法将类型为“NHibernate.Criterion.InExpression”的对象强制转换为类型“NHibernate.Criterion.SimpleExpression”。
这个有什么方法解决吗?

实力快递员的主页 实力快递员 | 初学一级 | 园豆:72
提问于:2019-06-05 11:03
< >
分享
最佳答案
0

自己换了一种方式

实力快递员 | 初学一级 |园豆:72 | 2019-06-05 16:27
其他回答(1)
0

在强制转换 SimpleExpression 之前判断一下

if( express[0] is NHibernate.Criterion.SimpleExpression)
{
    //...
}
收获园豆:40
dudu | 园豆:31003 (高人七级) | 2019-06-05 14:00

这个不是判断的问题吧 我就是想这个类型怎么转换 或者怎么去到那个express里面的name字段名字

支持(0) 反对(0) 实力快递员 | 园豆:72 (初学一级) | 2019-06-05 14:13

@实力快递员: 对于 InExpression ,总得先转换为 InExpression 吧

支持(0) 反对(0) dudu | 园豆:31003 (高人七级) | 2019-06-05 14:17

@dudu: express[0]那一块不是InExpression 的吗

支持(0) 反对(0) 实力快递员 | 园豆:72 (初学一级) | 2019-06-05 14:23

@dudu: 现在就是说 他俩可以转吗?vs提示是不能转的啊,但是我想要SimpleExpression 里面的PropertyName,不知道有啥方法没

支持(0) 反对(0) 实力快递员 | 园豆:72 (初学一级) | 2019-06-05 14:29

@实力快递员: 你想要 SimpleExpression 里面的 PropertyName ,但现在是 InExpression ,你想霸王硬上弓,但 .NET runtime 不允许啊

支持(0) 反对(0) dudu | 园豆:31003 (高人七级) | 2019-06-05 14:36

@dudu: 那有别的啥方法取express里面的name字段

支持(0) 反对(0) 实力快递员 | 园豆:72 (初学一级) | 2019-06-05 14:37

@实力快递员: 从 InExpression.cs 源码看,似乎只能通过反射获取 _propertyName 私有成员变量的值

支持(0) 反对(0) dudu | 园豆:31003 (高人七级) | 2019-06-05 14:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册