Apache.Calcite.EntityFrameworkCore.Core 1.0.0-pre.42

This is a prerelease version of Apache.Calcite.EntityFrameworkCore.Core.
dotnet add package Apache.Calcite.EntityFrameworkCore.Core --version 1.0.0-pre.42
                    
NuGet\Install-Package Apache.Calcite.EntityFrameworkCore.Core -Version 1.0.0-pre.42
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Apache.Calcite.EntityFrameworkCore.Core" Version="1.0.0-pre.42" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Apache.Calcite.EntityFrameworkCore.Core" Version="1.0.0-pre.42" />
                    
Directory.Packages.props
<PackageReference Include="Apache.Calcite.EntityFrameworkCore.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Apache.Calcite.EntityFrameworkCore.Core --version 1.0.0-pre.42
                    
#r "nuget: Apache.Calcite.EntityFrameworkCore.Core, 1.0.0-pre.42"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Apache.Calcite.EntityFrameworkCore.Core@1.0.0-pre.42
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Apache.Calcite.EntityFrameworkCore.Core&version=1.0.0-pre.42&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Apache.Calcite.EntityFrameworkCore.Core&version=1.0.0-pre.42&prerelease
                    
Install as a Cake Tool

Apache.Calcite.EntityFrameworkCore.Core

Shared primitives for Apache Calcite for Entity Framework Core — the type mapping and value marshalling that both the EF Core provider and the Calcite adapter build on.

This is a support package. You almost never install it directly: it arrives transitively with Apache.Calcite.EntityFrameworkCore and Apache.Calcite.EntityFrameworkCore.Adapter. Reference it on its own only when you are writing your own Calcite integration and want the same mappings the provider and adapter use.

dotnet add package Apache.Calcite.EntityFrameworkCore.Core

Why it exists

The provider translates EF Core LINQ into Calcite SQL; the adapter translates Calcite plans back into EF Core LINQ. Both cross the same boundary — CLR types on one side, Calcite's RelDataType and Java-boxed values on the other — and the two directions have to agree exactly. A decimal the provider writes must read back as the same decimal, and a RelDataType the adapter derives for a column must match the one the provider declared for it. Keeping that mapping in one package is what makes the round trip stable.

What is in it

Everything lives in the Apache.Calcite.EntityFrameworkCore.Core namespace.

type role
CalciteTypeMapper the mapping itself, in both directions: CLR TypeSqlTypeName, EF Core IPropertyRelDataType (honouring the property's own facets and nullability), and RelDataType → CLR Type
CalciteValueConverter boxes CLR primitives into the Java equivalents Calcite's in-memory evaluator expects, and unboxes them on the way back
BigDecimalConverter lossless decimaljava.math.BigDecimal, converted through the mantissa and scale rather than through a string or a double
ClrDataTypeGenerator emits and caches dynamic record types for intermediate row shapes, one per distinct ordered field list, with value equality so they work as GroupBy keys and set-operation elements
ReadOnlyCollectionComparer<T> structural equality over IReadOnlyCollection<T>, used to key those cached row types

CalciteTypeMapper.ToClrType maps struct (row) types through ClrDataTypeGenerator, and returns object for scalar type names with no direct CLR counterpart rather than throwing — the caller decides what to do with an unmapped type.

Requirements

.NET 10, and a JVM-free Calcite supplied by IKVM — Calcite runs in-process, so there is no JDBC driver and no Avatica server to deploy.

License

Apache 2.0

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Apache.Calcite.EntityFrameworkCore.Core:

Package Downloads
Apache.Calcite.EntityFrameworkCore

Apache Calcite provider for Entity Framework Core. Plans and executes SQL against any Calcite-modeled data source via IKVM.

Apache.Calcite.EntityFrameworkCore.Adapter

Apache Calcite adapter convention that executes relational plans as Entity Framework Core LINQ queries.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-pre.42 73 9/1/2026
1.0.0-pre.41 128 9/1/2026