Я ищу эту точную проблему с необязательными полями, необнуляемыми
Обратите внимание, что ваше OR не будет использовать индексы, поэтому оно может быть медленнее.
ОБНОВЛЕНИЕ: Мне кажется, я нашел исправление:
// register filters
var filterDef = new FilterDefinition(
"f_CurrentTenant",
"TenantId = :f_tenantId",
new Dictionary<string, IType> { { "f_tenantId", NHibernateUtil.Guid } },
**false**);
config.AddFilterDefinition(filterDef);
Когда вы создаете фильтр, вы можете установить последний параметр с именем "useManyToOne" = false.Это скажет NH, чтобы он не использовал фильтр в соединениях.
До сих пор кажется, что это сработало: D