Skip to content

Commit a738891

Browse files
authored
(#199) async query in table controller (#236)
* (#199) Moves the query component of the TableController to async mode. * (#199) Adds CountAsync and ToListAsync to the EntityFrameworkRepository * (#199) Updates tests to use async methodology for Cosmos.
1 parent d41bcd9 commit a738891

File tree

61 files changed

+1387
-1036
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+1387
-1036
lines changed

docs/content/in-depth/server/databases/cosmos.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,21 @@ Azure Cosmos DB is a fully managed NoSQL database for high-performance applicati
8686
}
8787
```
8888
89+
## Avoid Client-side evaluations
90+
91+
When constructing a query within a client, avoid the following:
92+
93+
* Math operations such as division, multiplication, floor, ceiling, and round.
94+
* Accessing date/time components such as year, day, or month.
95+
* The use of DateOnly and TimeOnly types.
96+
97+
These are not supported by the LINQ provider for Cosmos EF Core. Using them will result in a client-side evaluation. Client-side evaluations have the following effects:
98+
99+
* In v8.x and earlier, client-side evaluations read the entire dataset into memory to construct the appropriate filter. This causes performance problems.
100+
* In v9.x and later, client-side evaluations are not supported and will result in a `400 Bad Request` or `500 Internal Server Error`.
101+
102+
## Support and further information
103+
89104
Azure Cosmos DB is supported in the `Microsoft.AspNetCore.Datasync.EFCore` NuGet package since v5.0.11. For more information, review the following links:
90105
91106
* [EF Core Azure Cosmos DB Provider](https://learn.microsoft.com/ef/core/providers/cosmos) documentation.

docs/content/samples/todoapp/avalonia.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title = "Avalonia"
33
+++
44

55
> [!INFO]
6-
> The Avalonia sample has been kindly contributed to the community by <a href="https://github.com/timunie">@timunie</a>.
6+
> The Avalonia sample has been kindly contributed to the community by [@timunie](https://github.com/timunie).
77
88
## Run the application first
99

docs/public/404.html

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head><script src="/Datasync/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=Datasync/livereload" data-no-instant defer></script>
44
<meta charset="utf-8">
55
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
6-
<meta name="generator" content="Hugo 0.140.2">
6+
<meta name="generator" content="Hugo 0.142.0">
77
<meta name="generator" content="Relearn 6.2.0+tip">
88
<meta name="description" content="">
99
<meta name="author" content="">
@@ -20,17 +20,17 @@
2020
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
2121
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
2222
<link rel="manifest" href="/favicon/site.webmanifest">
23-
<link href="/Datasync/css/fontawesome-all.min.css?1736358756" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/fontawesome-all.min.css?1736358756" rel="stylesheet"></noscript>
24-
<link href="/Datasync/css/nucleus.css?1736358756" rel="stylesheet">
25-
<link href="/Datasync/css/auto-complete.css?1736358756" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/auto-complete.css?1736358756" rel="stylesheet"></noscript>
26-
<link href="/Datasync/css/perfect-scrollbar.min.css?1736358756" rel="stylesheet">
27-
<link href="/Datasync/css/fonts.css?1736358756" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/fonts.css?1736358756" rel="stylesheet"></noscript>
28-
<link href="/Datasync/css/theme.css?1736358756" rel="stylesheet">
29-
<link href="/Datasync/css/theme-auto.css?1736358756" rel="stylesheet" id="R-variant-style">
30-
<link href="/Datasync/css/chroma-auto.css?1736358756" rel="stylesheet" id="R-variant-chroma-style">
31-
<link href="/Datasync/css/variant.css?1736358756" rel="stylesheet">
32-
<link href="/Datasync/css/print.css?1736358756" rel="stylesheet" media="print">
33-
<script src="/Datasync/js/variant.js?1736358756"></script>
23+
<link href="/Datasync/css/fontawesome-all.min.css?1738255149" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/fontawesome-all.min.css?1738255149" rel="stylesheet"></noscript>
24+
<link href="/Datasync/css/nucleus.css?1738255149" rel="stylesheet">
25+
<link href="/Datasync/css/auto-complete.css?1738255149" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/auto-complete.css?1738255149" rel="stylesheet"></noscript>
26+
<link href="/Datasync/css/perfect-scrollbar.min.css?1738255149" rel="stylesheet">
27+
<link href="/Datasync/css/fonts.css?1738255149" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/fonts.css?1738255149" rel="stylesheet"></noscript>
28+
<link href="/Datasync/css/theme.css?1738255149" rel="stylesheet">
29+
<link href="/Datasync/css/theme-auto.css?1738255149" rel="stylesheet" id="R-variant-style">
30+
<link href="/Datasync/css/chroma-auto.css?1738255149" rel="stylesheet" id="R-variant-chroma-style">
31+
<link href="/Datasync/css/variant.css?1738255149" rel="stylesheet">
32+
<link href="/Datasync/css/print.css?1738255149" rel="stylesheet" media="print">
33+
<script src="/Datasync/js/variant.js?1738255149"></script>
3434
<script>
3535
window.relearn = window.relearn || {};
3636
window.relearn.relBasePath='.';

docs/public/categories/index.html

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head><script src="/Datasync/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=Datasync/livereload" data-no-instant defer></script>
44
<meta charset="utf-8">
55
<meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, minimum-scale=1.0">
6-
<meta name="generator" content="Hugo 0.140.2">
6+
<meta name="generator" content="Hugo 0.142.0">
77
<meta name="generator" content="Relearn 6.2.0+tip">
88
<meta name="description" content="">
99
<meta name="author" content="">
@@ -20,17 +20,17 @@
2020
<link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
2121
<link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
2222
<link rel="manifest" href="/favicon/site.webmanifest">
23-
<link href="/Datasync/css/fontawesome-all.min.css?1736358756" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/fontawesome-all.min.css?1736358756" rel="stylesheet"></noscript>
24-
<link href="/Datasync/css/nucleus.css?1736358756" rel="stylesheet">
25-
<link href="/Datasync/css/auto-complete.css?1736358756" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/auto-complete.css?1736358756" rel="stylesheet"></noscript>
26-
<link href="/Datasync/css/perfect-scrollbar.min.css?1736358756" rel="stylesheet">
27-
<link href="/Datasync/css/fonts.css?1736358756" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/fonts.css?1736358756" rel="stylesheet"></noscript>
28-
<link href="/Datasync/css/theme.css?1736358756" rel="stylesheet">
29-
<link href="/Datasync/css/theme-auto.css?1736358756" rel="stylesheet" id="R-variant-style">
30-
<link href="/Datasync/css/chroma-auto.css?1736358756" rel="stylesheet" id="R-variant-chroma-style">
31-
<link href="/Datasync/css/variant.css?1736358756" rel="stylesheet">
32-
<link href="/Datasync/css/print.css?1736358756" rel="stylesheet" media="print">
33-
<script src="/Datasync/js/variant.js?1736358756"></script>
23+
<link href="/Datasync/css/fontawesome-all.min.css?1738255149" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/fontawesome-all.min.css?1738255149" rel="stylesheet"></noscript>
24+
<link href="/Datasync/css/nucleus.css?1738255149" rel="stylesheet">
25+
<link href="/Datasync/css/auto-complete.css?1738255149" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/auto-complete.css?1738255149" rel="stylesheet"></noscript>
26+
<link href="/Datasync/css/perfect-scrollbar.min.css?1738255149" rel="stylesheet">
27+
<link href="/Datasync/css/fonts.css?1738255149" rel="stylesheet" media="print" onload="this.media='all';this.onload=null;"><noscript><link href="/Datasync/css/fonts.css?1738255149" rel="stylesheet"></noscript>
28+
<link href="/Datasync/css/theme.css?1738255149" rel="stylesheet">
29+
<link href="/Datasync/css/theme-auto.css?1738255149" rel="stylesheet" id="R-variant-style">
30+
<link href="/Datasync/css/chroma-auto.css?1738255149" rel="stylesheet" id="R-variant-chroma-style">
31+
<link href="/Datasync/css/variant.css?1738255149" rel="stylesheet">
32+
<link href="/Datasync/css/print.css?1738255149" rel="stylesheet" media="print">
33+
<script src="/Datasync/js/variant.js?1738255149"></script>
3434
<script>
3535
window.relearn = window.relearn || {};
3636
window.relearn.relBasePath='..';
@@ -163,12 +163,12 @@ <h1 id="categories">Categories</h1>
163163
<script>
164164
var contentLangs=['en'];
165165
</script>
166-
<script src="/Datasync/js/auto-complete.js?1736358756" defer></script>
167-
<script src="/Datasync/js/lunr/lunr.min.js?1736358756" defer></script>
168-
<script src="/Datasync/js/lunr/lunr.stemmer.support.min.js?1736358756" defer></script>
169-
<script src="/Datasync/js/lunr/lunr.multi.min.js?1736358756" defer></script>
170-
<script src="/Datasync/js/lunr/lunr.en.min.js?1736358756" defer></script>
171-
<script src="/Datasync/js/search.js?1736358756" defer></script>
166+
<script src="/Datasync/js/auto-complete.js?1738255149" defer></script>
167+
<script src="/Datasync/js/lunr/lunr.min.js?1738255149" defer></script>
168+
<script src="/Datasync/js/lunr/lunr.stemmer.support.min.js?1738255149" defer></script>
169+
<script src="/Datasync/js/lunr/lunr.multi.min.js?1738255149" defer></script>
170+
<script src="/Datasync/js/lunr/lunr.en.min.js?1738255149" defer></script>
171+
<script src="/Datasync/js/search.js?1738255149" defer></script>
172172
</div>
173173
<div id="R-homelinks" class="default-animation homelinks">
174174
<ul>
@@ -196,6 +196,7 @@ <h1 id="categories">Categories</h1>
196196
<li data-nav-id="/Datasync/in-depth/server/databases/azuresql/index.html" class=""><a class="padding" href="/Datasync/in-depth/server/databases/azuresql/index.html">Azure SQL &amp; SQL Server</a></li>
197197
<li data-nav-id="/Datasync/in-depth/server/databases/in-memory/index.html" class=""><a class="padding" href="/Datasync/in-depth/server/databases/in-memory/index.html">In-memory datastore</a></li>
198198
<li data-nav-id="/Datasync/in-depth/server/databases/litedb/index.html" class=""><a class="padding" href="/Datasync/in-depth/server/databases/litedb/index.html">LiteDb</a></li>
199+
<li data-nav-id="/Datasync/in-depth/server/databases/mysql/index.html" class=""><a class="padding" href="/Datasync/in-depth/server/databases/mysql/index.html">MySQL</a></li>
199200
<li data-nav-id="/Datasync/in-depth/server/databases/postgresql/index.html" class=""><a class="padding" href="/Datasync/in-depth/server/databases/postgresql/index.html">PostgreSQL</a></li>
200201
<li data-nav-id="/Datasync/in-depth/server/databases/sqlite/index.html" class=""><a class="padding" href="/Datasync/in-depth/server/databases/sqlite/index.html">Sqlite</a></li></ul></li></ul></li>
201202
<li data-nav-id="/Datasync/in-depth/client/index.html" class="alwaysopen"><a class="padding" href="/Datasync/in-depth/client/index.html">Client application</a><ul id="R-subsections-60c8d76d913730d5c907aa0f8134456a" class="morespace collapsible-menu">
@@ -254,8 +255,8 @@ <h1 id="categories">Categories</h1>
254255
</div>
255256
</div>
256257
</aside>
257-
<script src="/Datasync/js/clipboard.min.js?1736358756" defer></script>
258-
<script src="/Datasync/js/perfect-scrollbar.min.js?1736358756" defer></script>
259-
<script src="/Datasync/js/theme.js?1736358756" defer></script>
258+
<script src="/Datasync/js/clipboard.min.js?1738255149" defer></script>
259+
<script src="/Datasync/js/perfect-scrollbar.min.js?1738255149" defer></script>
260+
<script src="/Datasync/js/theme.js?1738255149" defer></script>
260261
</body>
261262
</html>

docs/public/css/chroma-auto.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
@import "chroma-relearn-light.css?1736358756" screen and (prefers-color-scheme: light);
2-
@import "chroma-relearn-dark.css?1736358756" screen and (prefers-color-scheme: dark);
1+
@import "chroma-relearn-light.css?1738255149" screen and (prefers-color-scheme: light);
2+
@import "chroma-relearn-dark.css?1738255149" screen and (prefers-color-scheme: dark);

docs/public/css/format-print.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
@import "theme-relearn-light.css?1736358756";
2-
@import "chroma-relearn-light.css?1736358756";
1+
@import "theme-relearn-light.css?1738255149";
2+
@import "chroma-relearn-light.css?1738255149";
33

44
#R-sidebar {
55
display: none;

docs/public/css/print.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
@import "format-print.css?1736358756";
1+
@import "format-print.css?1738255149";

docs/public/css/swagger.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* Styles to make Swagger-UI fit into our theme */
22

3-
@import "fonts.css?1736358756";
4-
@import "variables.css?1736358756";
3+
@import "fonts.css?1738255149";
4+
@import "variables.css?1738255149";
55

66
body{
77
line-height: 1.574;

docs/public/css/theme-auto.css

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
@import "theme-relearn-light.css?1736358756" screen and (prefers-color-scheme: light);
2-
@import "theme-relearn-dark.css?1736358756" screen and (prefers-color-scheme: dark);
1+
@import "theme-relearn-light.css?1738255149" screen and (prefers-color-scheme: light);
2+
@import "theme-relearn-dark.css?1738255149" screen and (prefers-color-scheme: dark);

docs/public/css/variant.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import "variables.css?1736358756";
1+
@import "variables.css?1738255149";
22

33
html {
44
color-scheme: only var(--INTERNAL-BROWSER-theme);

0 commit comments

Comments
 (0)