NHibernate (<v5) always tries to evaluate with .Net runtime the Linq expression as much as possible.
On extensions being translatable to HQL but being never evaluatable (always throwing exceptions due to being not .Net implemented), this causes a query failure if the extension is considered evaluatable by ReLinq (extension not applied on an entity but only on constants).
Allow marking Linq extension as evaluatable only db side for avoiding those exception throws.
Since (v5), those exceptions do no more cause a query failure. They are silently swallowed. Better avoid them still.
For this, we need a Relinq v2 feature. So we need NH-3944. A closed PR for is implementing this feature, with some discussion about it on another NH 3944 PR.
somewhat depends on it although already resolved, because it will change its resolution.
NHibernate (<v5) always tries to evaluate with .Net runtime the Linq expression as much as possible.
On extensions being translatable to HQL but being never evaluatable (always throwing exceptions due to being not .Net implemented), this causes a query failure if the extension is considered evaluatable by ReLinq (extension not applied on an entity but only on constants).
Allow marking Linq extension as evaluatable only db side for avoiding those exception throws.