You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Pavel Tupitsyn (JIRA)" <ji...@apache.org> on 2017/02/01 10:11:52 UTC

[jira] [Created] (IGNITE-4636) .NET: Support local collection joins in LINQ

Pavel Tupitsyn created IGNITE-4636:
--------------------------------------

             Summary: .NET: Support local collection joins in LINQ
                 Key: IGNITE-4636
                 URL: https://issues.apache.org/jira/browse/IGNITE-4636
             Project: Ignite
          Issue Type: Improvement
          Components: platforms
    Affects Versions: 1.8
            Reporter: Pavel Tupitsyn
             Fix For: 2.0


LINQ {{IN}} clause is implemented in IGNITE-4425 and maps from {{ICollection.Contains}}.

However, {{IN}} has some limitations in Ignite, and better alternative is temporary table join:
https://apacheignite.readme.io/docs/sql-performance-and-debugging#sql-performance-and-usability-considerations

Example SQL:
{code}
new SqlFieldsQuery("select p.name from Person p join table(id bigint = ?) i on p.OrgId = i.id", new object[] { new object[] {1,3}})
{code}

Add support in LINQ like this:

{code}persons.AsCacheQueryable().Join(new[] {1, 3}, p => p.Value.OrgId, x => x, (p, x) => p);{code}





--
This message was sent by Atlassian JIRA
(v6.3.15#6346)