Я застреваю в проблеме и не получаю правильный путь или решение, как я могу справиться с этим. Проблема в том, что я создаю запрос критериев, в котором мы передаем идентификатор свойства в качестве параметра. Тип идентификатора свойства является ориентировочным. Когда идентификатор свойства имеет значения, он работает нормально, но когда он равен нулю, он сбой.Передача нулевых значений в директивный столбец в nhibernate C#
У меня есть требование о том, что когда идентификатор свойства имеет значение, тогда записи фильтров поступают в соответствии с идентификатором свойства, а когда идентификатор свойства равен нулю, тогда он записывает записи, чей идентификатор свойства равен нулю.
Я попытался это связывает 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.
вместо '(объект) DBNull.Value' попробовать' (Guid?) DBNull.Value ' – mattytommo
Он показывает ошибку компиляции. – Awadhendra
Как насчет просто '(Guid?) Null'? – mattytommo