gpt4 book ai didi

c# - 如何将 Nullable 参数与 nHibernate Linq 表达式一起使用?

转载 作者:行者123 更新时间:2023-11-30 16:56:27 24 4
gpt4 key购买 nike

我一直遇到以下错误

PartialEvalException (InvalidOperationException ("Nullable object must have a value."), Convert(PartialEvalException (InvalidOperationException ("Nullable object must have a value."), PartialEvalException (InvalidOperationException ("Nullable object must have a value."), Convert(PartialEvalException (InvalidOperationException ("Nullable object must have a value."), Convert(null)))).GetInvolvementType())))

当我尝试使用以下 where 子句运行 nHibernate Linq 查询时:

 where (Id.HasValue == false || (Id.HasValue && tbl.Id == Id.Value))
&& (myDate.HasValue == false || (myDate.HasValue && tbl.Date <= myDate.Value))

最佳答案

NHibernate 可能无法将 HasValue 正确地转换为 SQL 语句,我会尝试与 null 进行比较:

(Id == null || tbl.Id == Id) && (myDate == null || tbl.Date <= myDate))

请注意,在每个 && 子句的第二部分中检查 HasValue 是多余的——我已将其删除。您也应该可以通过这种方式直接比较不可空类型和可空类型。

关于c# - 如何将 Nullable<T> 参数与 nHibernate Linq 表达式一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28057507/

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