Roman,
Can you try rephrasing the LINQ query as the SQL goes?
var q1 = queryable.GroupBy(o => o.Value.ContractId).Select(g => new
{ContractId = g.Key, MaxVer = g.Select(x=>x.Value.Version).Max()});
var q2 = q1.Select( ...)
At least this first part works for me. I did not try further.
Ideally please provide a full working project with the LINQ expression that
does not work for you.
I'm trying to understand if there is a limitation or a bug of some kind.
Thanks,
Pavel
On Thu, Jun 21, 2018 at 1:09 PM, Roman Guseinov <[email protected]> wrote:
> Hi Pavel,
>
> Thank you for the response. Regarding support every LINQ expression, I
> agree
> with you. It's not possible.
>
> Let me show an example. The following LINQ query:
>
> /var result = queryable.GroupBy(e => e.Value.ContractId).Select(group =>
> new
> {
> ContractId = group.Key,
> Id = group.OrderByDescending(entry => entry.Value.Version).First().Key
> }).OrderBy(g => g.Count).ToList();/
>
> we can replace by SQL query:
>
> /SELECT cid as ContractId,
> min(id) as Id
> FROM
> (SELECT t2.cid,
> t3.id
> FROM
> (SELECT t1.ContractId AS cid, max(t1.Version) AS ver
> FROM table AS t1
> GROUP BY t1.ContractId) AS t2
> JOIN table AS t3 ON t3.Version = t2.ver
> AND t3.ContractId = t2.cid)
> GROUP BY cid/
>
> I know this is not a trivial task and it can not be implemented easily. I
> just curious if there any plans to support that in the near future.
>
> Thanks again.
>
> Best Regards,
> Roman
>
>
>
> --
> Sent from: http://apache-ignite-developers.2346864.n4.nabble.com/
>