gpt4 book ai didi

c# - 无法将类型为 'NHibernate.Hql.Ast.HqlCast' 的对象转换为类型“NHibernate.Hql.Ast.HqlBooleanExpression”

转载 作者:太空狗 更新时间:2023-10-29 23:02:03 29 4
gpt4 key购买 nike

我正在使用以下 C# 代码:

public IList<T> GetAllByExpression(Expression<Func<T, bool>> expression, int startIndex, int count, Func<T, DateTime> dateTimeSelector)
{
using (ISession session = NHibernateHelper.GetSession())
{
return session.Query<T>()
.Where(expression)
.OrderBy(dateTimeSelector)
.Skip(startIndex - 1)
.Take(count)
.ToList();
}
}

更新:甚至下面的代码也会抛出相同的异常:

public IList<T> GetAllByExpression(Expression<Func<T, bool>> expression, int startIndex, int count, Expression<Func<T, DateTime>> dateTimeSelector)
{
using (ISession session = NHibernateHelper.GetSession())
{
return session.Query<T>()
.Where(expression)
//.OrderBy(dateTimeSelector)
//.Skip(startIndex - 1)
//.Take(count)
.ToList();
}
}

并得到 Nh 错误:

Unable to cast object of type 'NHibernate.Hql.Ast.HqlCast' to type 'NHibernate.Hql.Ast.HqlBooleanExpression'.

我做错了什么?

最佳答案

问题是我在表达式中写了短条件:as ((a == null)? true : a > b) NH casting fails on that (?)

关于c# - 无法将类型为 'NHibernate.Hql.Ast.HqlCast' 的对象转换为类型“NHibernate.Hql.Ast.HqlBooleanExpression”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8368498/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com