Hi Gunnar!

EntityFramework is going a similiar route with a 
QueryAnnotationResultOperator they use to collect the annotations.
https://github.com/aspnet/EntityFramework/blob/dev/src/EntityFramework.Core/Query/Internal/QueryAnnotationExtractor.cs

That's actually one of the ideas I'm thinking of adopting for re-linq's own 
SQLBackend, too. For now, the ResultOperators certainly are the easiest way 
to accomplish this.

Best regards, Michael

On Monday, September 28, 2015 at 7:38:33 AM UTC+2, Alexander Zaytsev wrote:
>
> Hi Gunnar,
>
> This looks very good. I think this can be simplified if we omit these 
> operations (cacheable, timeout, etc) from a query at all.
>
> I think this can be done by casting inside these methods (as EF does 
> sometimes) to the INHibernateQueriable (or similar interface) to set 
> options.
>
> What do you think?
>
> Best Regards,
> Alexander
>
> On Mon, Sep 28, 2015 at 2:00 AM, Gunnar Liljas wrote:
>
>> Hi!
>>
>> I just made a commit (not a pull request, I'm not sure it's quite ready) 
>> with a new approach to query options in Linq queries. Instead of dealing 
>> with results operators for things that are actually not a part of the 
>> query, I made an expression visitor that extracts the query options from 
>> the query AND removes them. The options are applied to the parsed query.
>>
>>
>> https://github.com/gliljas/nhibernate-core/commit/1655320149385c96c64fd56598e9253621ba0da9
>>
>> There was one major hurdle, and that was to omit these options if they 
>> occur in a subquery. Currently the visitor solves this (or does it?) by 
>> detecting when the first chain of Call expressions is done, but of course 
>> it would be more convenient to use Relinq for this. But that happens later 
>> in the chain than currently feasible.
>>
>> It's more a proof of concept, so I would very much like some feedback.
>>
>> /Gunnar
>>
>> -- 
>>
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "nhibernate-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to nhibernate-development+unsubscr...@googlegroups.com 
>> <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to nhibernate-development+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to