Skip to content

Commit 1a76688

Browse files
author
Danny Logsdon
committed
# 2.2.4
- Fixed unit tests for pagingasync and others (still more to do) - Added check to ExecuteAsync if queryable is AsyncInMemory, then call sync method instead - Update test project references to latest available versions
1 parent 787f45f commit 1a76688

33 files changed

Lines changed: 604 additions & 390 deletions

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<img src="https://github.com/holomodular/ServiceQuery/blob/main/Logo.png" title="ServiceQuery Logo" width="250"/>
1+
<img src="https://raw.githubusercontent.com/holomodular/ServiceQuery/main/Logo.png" title="ServiceQuery Logo" width="250"/>
22

33
[![NuGet version](https://badge.fury.io/nu/ServiceQuery.svg)](https://badge.fury.io/nu/ServiceQuery)
44
![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/holomodular-support/5a0fab9a9341bb94e27da49a1e89fd03/raw/servicequery-codecoverage.json)
@@ -254,4 +254,4 @@ Adjust property mappings based on user role for security.
254254
Add expressions to queries to target specific data segments, ensuring efficient data retrieval and enhanced security.
255255

256256
## About
257-
Authored by https://www.linkedin.com/in/danlogsdon Visit https://HoloModular.com or https://ServiceQuery.com to learn more.
257+
ServiceQuery is owned and maintained by HoloModular LLC and created by Danny Logsdon (Founder). Visit our websites at https://HoloModular.com, https://ServiceQuery.com or https://www.linkedin.com/in/danlogsdon to learn more.

ReleaseNotes.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# 2.2.4
2+
- Fixed unit tests for pagingasync and others (still more to do)
3+
- Added check to ExecuteAsync if queryable is AsyncInMemory, then call sync method instead
4+
- Update test project references to latest available versions
5+
16
# 2.2.3
27
- Added target framework for Net10 and new test projects
38
- Update ServiceQueryRequestExtensions to add shorthand filter expressions for existing ServiceQueryRequest filter types (, ), lt, <, lte, <=, =, eq, etc.

src/V2/ServiceQuery.AzureDataTables/Resource/readme.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<img src="https://github.com/holomodular/ServiceQuery/blob/main/Logo.png" title="ServiceQuery Logo" width="250"/>
1+
<img src="https://raw.githubusercontent.com/holomodular/ServiceQuery/main/Logo.png" title="ServiceQuery Logo" width="250"/>
22

33
[![NuGet version](https://badge.fury.io/nu/ServiceQuery.svg)](https://badge.fury.io/nu/ServiceQuery)
44
![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/holomodular-support/5a0fab9a9341bb94e27da49a1e89fd03/raw/servicequery-codecoverage.json)
@@ -72,12 +72,21 @@ public async Task<ServiceQueryResponse<ExampleTable>> ExampleServiceQueryAsync(S
7272
}
7373
```
7474

75-
## Documentation
76-
Comprehensive documentation is available on our website at http://ServiceQuery.com including tables for supported data types and operations by .NET Framework version and database engine.
75+
## Packages Available
76+
The following NuGet packages are available for provider-specific implementations.
7777

78-
## ServiceQuery.AzureDataTables
79-
Azure Data Tables has certain limitations, such as lack of support for aggregate functions, string comparisons and ordering.
80-
Our companion NuGet package <b>ServiceQuery.AzureDataTables</b> provides a solution to these limitations, allowing you to use standard operations and execute requests seamlessly. The solution is to download all records and then perform the query using an internal list. See our example project for more information.
78+
### ServiceQuery.AzureDataTables
79+
Support for Azure Data Tables (Storage Account) and async methods. Azure Data Tables has several limitations, such as lack of support for aggregate functions, string comparisons and ordering.
80+
This package provides a solution to these limitations, allowing you to use all standard operations and execute requests seamlessly. The solution downloads all records and then performs the query and unsupported functions using an internal list. See our example project for more information.
81+
82+
### ServiceQuery.EntityFrameworkCore
83+
Support for Microsoft Entity Framework Core (EFC) and async methods. Note: For the .NET 8 runtime, we reference EFC version 9. Use ServiceQuery.EntityFrameworkCore8 if you need EFC version 8.
84+
85+
### ServiceQuery.EntityFrameworkCore8
86+
Support for Microsoft Entity Framework Core (EFC) and async method. Note: This references EFC version 8 for the .NET 8 runtime.
87+
88+
### ServiceQuery.MongoDb
89+
Support for MongoDb and async methods.
8190

8291
## Building and Executing a Query
8392
Construct queries using the ServiceQueryRequestBuilder object:
@@ -148,6 +157,7 @@ public void Example()
148157

149158
## Using Query Operations
150159
If you are using javascript, make sure to download the [ServiceQuery.js](https://github.com/holomodular/ServiceQuery/blob/main/src/V2/javascript/servicequery.js) javascript file. This allows you to use the same syntax as the .NET code below!
160+
151161
```csharp
152162
using ServiceQuery;
153163

@@ -212,6 +222,15 @@ If you are using javascript, make sure to download the [ServiceQuery.js](https:/
212222

213223
```
214224

225+
### Working with DateTimes
226+
When working with DateTimes, make sure to use the ToString format of "o" or "O" for proper datetime round-trip serialization, as in the following code:
227+
228+
```csharp
229+
var request = new ServiceQueryRequestBuilder()
230+
.IsLessThan("CreateDate", DateTimeOffset.UtcNow.ToString("o"))
231+
.Build();
232+
```
233+
215234
## ServiceQuery Options
216235
Customize server-side query processing with ServiceQueryOptions object:
217236
```csharp
@@ -235,4 +254,4 @@ Adjust property mappings based on user role for security.
235254
Add expressions to queries to target specific data segments, ensuring efficient data retrieval and enhanced security.
236255

237256
## About
238-
Authored by https://www.linkedin.com/in/danlogsdon Visit https://HoloModular.com or https://ServiceQuery.com to learn more.
257+
ServiceQuery is owned and maintained by HoloModular LLC and created by Danny Logsdon (Founder). Visit our websites at https://HoloModular.com, https://ServiceQuery.com or https://www.linkedin.com/in/danlogsdon to learn more.

src/V2/ServiceQuery.AzureDataTables/ServiceQuery.AzureDataTables.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<Version>2.2.3</Version>
4+
<Version>2.2.4</Version>
55
<Description>ServiceQuery allows dynamic querying of data over service boundaries. Visit http://ServiceQuery.com to learn more.</Description>
66
<PackageId>ServiceQuery.AzureDataTables</PackageId>
77
<Title>ServiceQuery.AzureDataTables</Title>
@@ -34,7 +34,7 @@
3434

3535
<ItemGroup>
3636
<PackageReference Include="Azure.Data.Tables" Version="12.11.0" />
37-
<PackageReference Include="ServiceQuery" Version="2.2.3" />
37+
<PackageReference Include="ServiceQuery" Version="2.2.4" />
3838
</ItemGroup>
3939

4040
</Project>

src/V2/ServiceQuery.EntityFrameworkCore/Extensions/ServiceQueryEntityFrameworkCoreExtensions.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ public static async Task<ServiceQueryResponse<T>> ExecuteAsync<T>(this IServiceQ
2828
if (queryable == null)
2929
return null;
3030

31+
// If in-memory list, call sync version instead
32+
if (queryable is AsyncInMemoryQueryable<T>)
33+
return serviceQuery.Execute<T>(queryable, serviceQueryOptions);
34+
3135
if (serviceQuery.IsAggregate())
3236
{
3337
var aggregate = await ExecuteAggregateAsync<T>(serviceQuery, queryable, serviceQueryOptions);

src/V2/ServiceQuery.EntityFrameworkCore/Resource/readme.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<img src="https://github.com/holomodular/ServiceQuery/blob/main/Logo.png" title="ServiceQuery Logo" width="250"/>
1+
<img src="https://raw.githubusercontent.com/holomodular/ServiceQuery/main/Logo.png" title="ServiceQuery Logo" width="250"/>
22

33
[![NuGet version](https://badge.fury.io/nu/ServiceQuery.svg)](https://badge.fury.io/nu/ServiceQuery)
44
![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/holomodular-support/5a0fab9a9341bb94e27da49a1e89fd03/raw/servicequery-codecoverage.json)
@@ -72,12 +72,21 @@ public async Task<ServiceQueryResponse<ExampleTable>> ExampleServiceQueryAsync(S
7272
}
7373
```
7474

75-
## Documentation
76-
Comprehensive documentation is available on our website at http://ServiceQuery.com including tables for supported data types and operations by .NET Framework version and database engine.
75+
## Packages Available
76+
The following NuGet packages are available for provider-specific implementations.
7777

78-
## ServiceQuery.AzureDataTables
79-
Azure Data Tables has certain limitations, such as lack of support for aggregate functions, string comparisons and ordering.
80-
Our companion NuGet package <b>ServiceQuery.AzureDataTables</b> provides a solution to these limitations, allowing you to use standard operations and execute requests seamlessly. The solution is to download all records and then perform the query using an internal list. See our example project for more information.
78+
### ServiceQuery.AzureDataTables
79+
Support for Azure Data Tables (Storage Account) and async methods. Azure Data Tables has several limitations, such as lack of support for aggregate functions, string comparisons and ordering.
80+
This package provides a solution to these limitations, allowing you to use all standard operations and execute requests seamlessly. The solution downloads all records and then performs the query and unsupported functions using an internal list. See our example project for more information.
81+
82+
### ServiceQuery.EntityFrameworkCore
83+
Support for Microsoft Entity Framework Core (EFC) and async methods. Note: For the .NET 8 runtime, we reference EFC version 9. Use ServiceQuery.EntityFrameworkCore8 if you need EFC version 8.
84+
85+
### ServiceQuery.EntityFrameworkCore8
86+
Support for Microsoft Entity Framework Core (EFC) and async method. Note: This references EFC version 8 for the .NET 8 runtime.
87+
88+
### ServiceQuery.MongoDb
89+
Support for MongoDb and async methods.
8190

8291
## Building and Executing a Query
8392
Construct queries using the ServiceQueryRequestBuilder object:
@@ -148,6 +157,7 @@ public void Example()
148157

149158
## Using Query Operations
150159
If you are using javascript, make sure to download the [ServiceQuery.js](https://github.com/holomodular/ServiceQuery/blob/main/src/V2/javascript/servicequery.js) javascript file. This allows you to use the same syntax as the .NET code below!
160+
151161
```csharp
152162
using ServiceQuery;
153163

@@ -212,6 +222,15 @@ If you are using javascript, make sure to download the [ServiceQuery.js](https:/
212222

213223
```
214224

225+
### Working with DateTimes
226+
When working with DateTimes, make sure to use the ToString format of "o" or "O" for proper datetime round-trip serialization, as in the following code:
227+
228+
```csharp
229+
var request = new ServiceQueryRequestBuilder()
230+
.IsLessThan("CreateDate", DateTimeOffset.UtcNow.ToString("o"))
231+
.Build();
232+
```
233+
215234
## ServiceQuery Options
216235
Customize server-side query processing with ServiceQueryOptions object:
217236
```csharp
@@ -235,4 +254,4 @@ Adjust property mappings based on user role for security.
235254
Add expressions to queries to target specific data segments, ensuring efficient data retrieval and enhanced security.
236255

237256
## About
238-
Authored by https://www.linkedin.com/in/danlogsdon Visit https://HoloModular.com or https://ServiceQuery.com to learn more.
257+
ServiceQuery is owned and maintained by HoloModular LLC and created by Danny Logsdon (Founder). Visit our websites at https://HoloModular.com, https://ServiceQuery.com or https://www.linkedin.com/in/danlogsdon to learn more.

src/V2/ServiceQuery.EntityFrameworkCore/ServiceQuery.EntityFrameworkCore.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<Version>2.2.3</Version>
4+
<Version>2.2.4</Version>
55
<Description>ServiceQuery allows dynamic querying of data over service boundaries. Visit http://ServiceQuery.com to learn more.</Description>
66
<PackageId>ServiceQuery.EntityFrameworkCore</PackageId>
77
<Title>ServiceQuery.EntityFrameworkCore</Title>
@@ -33,7 +33,7 @@
3333
</ItemGroup>
3434

3535
<ItemGroup>
36-
<PackageReference Include="ServiceQuery" Version="2.2.3" />
36+
<PackageReference Include="ServiceQuery" Version="2.2.4" />
3737
</ItemGroup>
3838

3939

src/V2/ServiceQuery.EntityFrameworkCore8/Resource/readme.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<img src="https://github.com/holomodular/ServiceQuery/blob/main/Logo.png" title="ServiceQuery Logo" width="250"/>
1+
<img src="https://raw.githubusercontent.com/holomodular/ServiceQuery/main/Logo.png" title="ServiceQuery Logo" width="250"/>
22

33
[![NuGet version](https://badge.fury.io/nu/ServiceQuery.svg)](https://badge.fury.io/nu/ServiceQuery)
44
![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/holomodular-support/5a0fab9a9341bb94e27da49a1e89fd03/raw/servicequery-codecoverage.json)
@@ -72,12 +72,21 @@ public async Task<ServiceQueryResponse<ExampleTable>> ExampleServiceQueryAsync(S
7272
}
7373
```
7474

75-
## Documentation
76-
Comprehensive documentation is available on our website at http://ServiceQuery.com including tables for supported data types and operations by .NET Framework version and database engine.
75+
## Packages Available
76+
The following NuGet packages are available for provider-specific implementations.
7777

78-
## ServiceQuery.AzureDataTables
79-
Azure Data Tables has certain limitations, such as lack of support for aggregate functions, string comparisons and ordering.
80-
Our companion NuGet package <b>ServiceQuery.AzureDataTables</b> provides a solution to these limitations, allowing you to use standard operations and execute requests seamlessly. The solution is to download all records and then perform the query using an internal list. See our example project for more information.
78+
### ServiceQuery.AzureDataTables
79+
Support for Azure Data Tables (Storage Account) and async methods. Azure Data Tables has several limitations, such as lack of support for aggregate functions, string comparisons and ordering.
80+
This package provides a solution to these limitations, allowing you to use all standard operations and execute requests seamlessly. The solution downloads all records and then performs the query and unsupported functions using an internal list. See our example project for more information.
81+
82+
### ServiceQuery.EntityFrameworkCore
83+
Support for Microsoft Entity Framework Core (EFC) and async methods. Note: For the .NET 8 runtime, we reference EFC version 9. Use ServiceQuery.EntityFrameworkCore8 if you need EFC version 8.
84+
85+
### ServiceQuery.EntityFrameworkCore8
86+
Support for Microsoft Entity Framework Core (EFC) and async method. Note: This references EFC version 8 for the .NET 8 runtime.
87+
88+
### ServiceQuery.MongoDb
89+
Support for MongoDb and async methods.
8190

8291
## Building and Executing a Query
8392
Construct queries using the ServiceQueryRequestBuilder object:
@@ -148,6 +157,7 @@ public void Example()
148157

149158
## Using Query Operations
150159
If you are using javascript, make sure to download the [ServiceQuery.js](https://github.com/holomodular/ServiceQuery/blob/main/src/V2/javascript/servicequery.js) javascript file. This allows you to use the same syntax as the .NET code below!
160+
151161
```csharp
152162
using ServiceQuery;
153163

@@ -212,6 +222,15 @@ If you are using javascript, make sure to download the [ServiceQuery.js](https:/
212222

213223
```
214224

225+
### Working with DateTimes
226+
When working with DateTimes, make sure to use the ToString format of "o" or "O" for proper datetime round-trip serialization, as in the following code:
227+
228+
```csharp
229+
var request = new ServiceQueryRequestBuilder()
230+
.IsLessThan("CreateDate", DateTimeOffset.UtcNow.ToString("o"))
231+
.Build();
232+
```
233+
215234
## ServiceQuery Options
216235
Customize server-side query processing with ServiceQueryOptions object:
217236
```csharp
@@ -235,4 +254,4 @@ Adjust property mappings based on user role for security.
235254
Add expressions to queries to target specific data segments, ensuring efficient data retrieval and enhanced security.
236255

237256
## About
238-
Authored by https://www.linkedin.com/in/danlogsdon Visit https://HoloModular.com or https://ServiceQuery.com to learn more.
257+
ServiceQuery is owned and maintained by HoloModular LLC and created by Danny Logsdon (Founder). Visit our websites at https://HoloModular.com, https://ServiceQuery.com or https://www.linkedin.com/in/danlogsdon to learn more.

src/V2/ServiceQuery.EntityFrameworkCore8/ServiceQuery.EntityFrameworkCore8.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<Version>2.2.3</Version>
4+
<Version>2.2.4</Version>
55
<Description>ServiceQuery allows dynamic querying of data over service boundaries. Visit http://ServiceQuery.com to learn more.</Description>
66
<PackageId>ServiceQuery.EntityFrameworkCore8</PackageId>
77
<Title>ServiceQuery.EntityFrameworkCore8</Title>
@@ -38,7 +38,7 @@
3838
</ItemGroup>
3939

4040
<ItemGroup>
41-
<PackageReference Include="ServiceQuery" Version="2.2.3" />
41+
<PackageReference Include="ServiceQuery" Version="2.2.4" />
4242
</ItemGroup>
4343

4444
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0'">

src/V2/ServiceQuery.MongoDb/Extensions/ServiceQueryMongoDbExtensions.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ public static async Task<ServiceQueryResponse<T>> MongoDbExecuteAsync<T>(this IS
2929
if (queryable == null)
3030
return null;
3131

32+
// If in-memory list, call sync version instead
33+
if (queryable is AsyncInMemoryQueryable<T>)
34+
return serviceQuery.Execute<T>(queryable, serviceQueryOptions);
35+
3236
if (serviceQuery.IsAggregate())
3337
{
3438
var aggregate = await MongoDbExecuteAggregateAsync<T>(serviceQuery, queryable, serviceQueryOptions);

0 commit comments

Comments
 (0)