[jira] [Created] (IGNITE-14343) .NET: Allow arbitrary MemberInit projections in LINQ

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-14343) .NET: Allow arbitrary MemberInit projections in LINQ

Anton Vinogradov (Jira)
Pavel Tupitsyn created IGNITE-14343:
---------------------------------------

             Summary: .NET: Allow arbitrary MemberInit projections in LINQ
                 Key: IGNITE-14343
                 URL: https://issues.apache.org/jira/browse/IGNITE-14343
             Project: Ignite
          Issue Type: Improvement
          Components: platforms
            Reporter: Pavel Tupitsyn
            Assignee: Pavel Tupitsyn
             Fix For: 2.11


Ignite LINQ provider allows anonymous type projections:
{code}
query.Select(emp => new {Id = emp.Key, Name = emp.Value.Name});
{code}

However, it does not work with a custom class:
{code}
query.Select(emp => new Foo {Id = emp.Key, Name = emp.Value.Name});
{code}

throws exception:
{code}
System.NotSupportedException : The expression 'new Foo() {Id = [x].Key}' (type: System.Linq.Expressions.MemberInitExpression) is not supported.
{code}


Add VisitMemberInit overload to CacheQueryExpressionVisitor to support this scenario.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)