Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-4636

.NET: Support local collection joins in LINQ

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.8
    • 2.1
    • platforms

    Description

      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:

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

      Add support in LINQ like this:

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

      Attachments

        Issue Links

          Activity

            People

              gurustron Sergey Stronchinskiy
              ptupitsyn Pavel Tupitsyn
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: