Linq2Kdb+ Provider - source code update

A few months ago, over the winter holiday, I put together a Linq provider for the Kdb+ database. The folks at KX systems have graciously provided a place to host the code, which you can find at https://code.kx.com/svn/contrib/sweinstein/linq2kdbplus. Use anonymous/anonymous for access.

 

As of now the list of the unimplemented items is considerably longer than implemented features.

What works

    • Basic projections / Selects (map)
    • Basic restrictions / Wheres (filter)
    • code generation to create strongly typed representations of a Kdb database

Still remaining to implemented

    • Joins
    • Orderbys
    • Grouping
    • Aggregates and other functions/method calls
    • Kdb+ columns with array types
    • Code generation support for Kdb+ user functions

A few notes on the code

  • The heavy lifting of transforming the expression trees  done via IQToolkit
  • The unit tests uses xUnit.Net
  • The code generation uses T4 and requires the T4 Toolbox
    • run  SetupCodeGen.ps1 to have the correct paths placed in the registry
  • Linq2Kdb+ was developed on .Net 3.5SP1 and Kdb+ 2.5 - for other versions YMMV.
  • Feedback welcome.

    Published Tuesday, March 03, 2009 11:09 PM by Scott Weinstein
    Filed under: , ,

    Comments

    Tuesday, March 03, 2009 11:12 PM by A Linq2Kdb+ Query provider - Scott Weinstein's .net blog

    # A Linq2Kdb+ Query provider - Scott Weinstein's .net blog

    Pingback from  A Linq2Kdb+ Query provider - Scott Weinstein's .net blog

    Wednesday, May 05, 2010 9:26 AM by kdb+/Q at RealXP

    # kdb+/Q at RealXP

    Pingback from  kdb+/Q at RealXP

    Wednesday, January 12, 2011 12:53 PM by John

    # re: Linq2Kdb+ Provider - source code update

    "anonymous/anonymous" don't access to  code.kx.com/.../linq2kdbplus

    Monday, February 07, 2011 8:53 PM by Scott Weinstein

    # re: Linq2Kdb+ Provider - source code update

    I've moved to code to GitHub

    github.com/.../Linq2KdbQ

    Leave a Comment

    (required) 
    (required) 
    (optional)
    (required)