I figured this mailing list would be interested. I have just finally published 
two packages what I've been working on for a bit that provide access to Calcite 
on .NET:

https://www.nuget.org/packages/Apache.Calcite.Data

Apache.Calcite.Data provides an ADO.NET database driver (provider) for Apache 
Calcite. It functions mostly like the current Calcite JDBC connection. You can 
set up your model the same way you can in JDBC.

https://www.nuget.org/packages/Apache.Calcite.Adapter.AdoNet

Apache.Calcite.Adapter.AdoNet provides the other half. A Calcite adapter for 
ADO.NET. Pretty much like the JDBC adapter. You can add it to your schema model 
on the driver and wrap other ADO.NET connections.

https://github.com/ikvmnet/calcite-dotnet

Together, these let you do on .NET what you can do with the JDBC driver and 
JDBC adapter in Calcite itself, without JDBC. So, you can make use of the 
native SQL or Npgsql or Sqlite .NET drivers.

These are but two foundational pieces I've been working on towards my ultimate 
goal: an Entity Framework provider for Calcite and an Entity Framework Adapter 
for Calcite. Those are under heavy development still. Though I do sorta/kinda 
have them working.

The end goal will be to allow you to reshape existing database or EF Core 
database contexts and then export those to APIs using tools like GraphQL (Hot 
Chocolate) or JSON API. In .NET land it is very easy to take an EF Core context 
and publish it on GraphQL. Automatically generating all the GraphQL stuff. 
Which is great, except you rarely want an exact 1:1 copy of your database model 
as your API. Hence Calcite.

https://github.com/ikvmnet/calcite-efcore

Reply via email to