Allow marking a Linq extension as db only

Description

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.

Environment

None

Activity

Show:

Frédéric Delaporte May 7, 2017 at 1:03 PM
Edited

Since https://nhibernate.jira.com/browse/NH-3961#icft=NH-3961 (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 https://nhibernate.jira.com/browse/NH-3944#icft=NH-3944 is implementing this feature, with some discussion about it on another NH 3944 PR.

https://nhibernate.jira.com/browse/NH-3386#icft=NH-3386 somewhat depends on it although already resolved, because it will change its resolution.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Who's Looking?

Open Who's Looking?
Created May 7, 2017 at 12:51 PM
Updated August 25, 2017 at 11:17 AM
Resolved August 25, 2017 at 11:17 AM
Who's Looking?