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

.NET: Support local collection joins in LINQ

Agile BoardAttach filesAttach ScreenshotVotersStop watchingWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment