ADCCure.Azure.Documents.ODataCore.Sql
3.0.2
Install-Package ADCCure.Azure.Documents.ODataCore.Sql -Version 3.0.2
dotnet add package ADCCure.Azure.Documents.ODataCore.Sql --version 3.0.2
<PackageReference Include="ADCCure.Azure.Documents.ODataCore.Sql" Version="3.0.2" />
paket add ADCCure.Azure.Documents.ODataCore.Sql --version 3.0.2
#r "nuget: ADCCure.Azure.Documents.ODataCore.Sql, 3.0.2"
// Install ADCCure.Azure.Documents.ODataCore.Sql as a Cake Addin
#addin nuget:?package=ADCCure.Azure.Documents.ODataCore.Sql&version=3.0.2
// Install ADCCure.Azure.Documents.ODataCore.Sql as a Cake Tool
#tool nuget:?package=ADCCure.Azure.Documents.ODataCore.Sql&version=3.0.2
Currently it supports below query mappings:
primitive:
field => c.field
parent/child => c.parent.child
Namespace.EnumType'enumVal' => 'enumVal'
queries:
$select => SELECT
$filter => WHERE
$top => TOP
$orderby => ORDER BY
functions:
Items/any(a: a/field op 'value') => SELECT value c FROM c JOIN a IN c.Items WHERE a.field op 'value'
contains(field,'value') => CONTAINS(c.field,'value')
startswith(field,'value') => STARTSWITH(c.field,'value')
endswith(field,'value') => ENDSWITH(c.field,'value')
toupper(field) => UPPER(c.field)
tolower(field) => LOWER(c.field)
length(field) => LENGTH(c.field)
indexof(field,'value') => INDEX_OF(c.field,'value')
substring(field,idx1,idx2) => SUBSTRING(c.field,idx1,idx2)
trim(field) => LTRIM(RTRIM(c.englishName))
concat(field,'value') => CONCAT(c.englishName,'value')
geography'POLYGON((31.8 -5, 32 -5, 32 -4.7, 31.8 -4.7, 31.8 -5))
=> ST_INTERSECTS(c.area,{\"type\":\"Polygon\",\"coordinates\":[[[31.8,-5.0],[32.0,-5.0],[32.0,-4.7],[31.8,-4.7],[31.8,-5.0]]]})
geography'POINT(31.9 -4.8)') lt 100 => ST_DISTANCE(c.location,{\"type\":\"Point\",\"coordinates\":[31.9,-4.8]}) < 100
$count=true&$filter=englishName eq 'Microsoft' => VALUE COUNT(1) FROM c WHERE c.englishName = 'Microsoft'
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
-
.NETCoreApp 2.0
- GeoJSON.Net (>= 1.1.64)
- Microsoft.AspNetCore.OData (>= 7.0.0-beta2)
- Microsoft.Azure.DocumentDB.Core (>= 1.8.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
3.0 .NET Core beta.
2.1.12 Fix Guid translation with quotes encapsulated
2.1.11 Resolve nullreference exception on empty $filter
2.1.5 Improved Enum parsing
2.1.4 Improved dependency versions
2.1.3 Added support for any. Note, 'all' not supported.
2.0.2 Added support for functions: length(), indexof(), substring(), trim(), concat()
2.0.1 Added support for functions: contains(), startswith(), endswith(), toupper() and tolower()
2.0.0 Breaking changes: Simplified usage with newly introuduced class ODataToSqlTranslator
1.0.0 Initial release