我陷入了问题,没有得到正确的方法或解决方案,我该如何处理这个问题。问题是我正在创建一个标准查询,我们在其中将属性 id 作为参数传递。属性 id 的类型是 guid。当属性 id 有值时,它工作正常,但当它为空时,它会崩溃。
我的要求是,当属性 id 有值时,根据属性 id 过滤记录,当属性 id 为 null 时,它过滤属性 id 为 null 的记录。
我试过这个链接Nullable GUID
但它会给出另一个异常,即类型不匹配异常。
这是我正在使用的 NHibernate 代码
var invoiceList =
Session.CreateCriteria<tARInvoice>("inv")
.Add(Restrictions.Eq("inv.fPropertyID",
propertyId == null ? (object)DBNull.Value : propertyId.Value))
.List<tARInvoice>()
我正在使用 c# 和 NHibernate 3.1 版。