Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from dotnet:main #435

Open
wants to merge 3,509 commits into
base: main
Choose a base branch
from
Open

[pull] main from dotnet:main #435

wants to merge 3,509 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 24, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Apr 24, 2022
roji and others added 29 commits November 14, 2024 13:50
Don't use Expression.Invoke in ValueComparer.ObjectEqualsExpression.
ValueComparer now contains the information on how to build an expression representing Equals(object, object), which uses Expression.Invoke. We found this to be a major performance problem in some scenarios (e.g. include collection navigation) where that expression is executed large number of times by the result coordinator, as it is part of the parent/outer/selfIdentifierValueComparers.
We actually know the lambda expression that is invoked in advance, so it's much more efficient to just remap the arguments and inline the lambda body into the ObjectEqualsExpression result.

Benchmark results:

ef 8

|                    Method | Async |     Mean |   Error |  StdDev |  Op/s |      Gen0 |      Gen1 | Allocated |
|-------------------------- |------ |---------:|--------:|--------:|------:|----------:|----------:|----------:|
| PredicateMultipleIncludes | False | 147.2 ms | 2.63 ms | 2.46 ms | 6.793 | 4000.0000 | 3000.0000 |  26.24 MB |
| PredicateMultipleIncludes |  True | 159.1 ms | 3.00 ms | 2.95 ms | 6.287 | 5500.0000 | 3000.0000 |  34.47 MB |

ef 9 without this change

|                    Method | Async |     Mean |   Error |  StdDev |  Op/s |       Gen0 |      Gen1 | Allocated |
|-------------------------- |------ |---------:|--------:|--------:|------:|-----------:|----------:|----------:|
| PredicateMultipleIncludes | False | 322.6 ms | 0.97 ms | 0.86 ms | 3.099 | 13000.0000 | 6000.0000 |  79.48 MB |
| PredicateMultipleIncludes |  True | 344.9 ms | 6.79 ms | 6.67 ms | 2.899 | 14000.0000 | 7000.0000 |  87.72 MB |

ef 9 with this change

|                    Method | Async |     Mean |   Error |  StdDev |  Op/s |       Gen0 |      Gen1 | Allocated |
|-------------------------- |------ |---------:|--------:|--------:|------:|-----------:|----------:|----------:|
| PredicateMultipleIncludes | False | 242.8 ms | 2.39 ms | 2.12 ms | 4.119 |  8000.0000 | 5000.0000 |  51.69 MB |
| PredicateMultipleIncludes |  True | 263.4 ms | 2.21 ms | 2.06 ms | 3.797 | 10000.0000 | 9000.0000 |  59.93 MB |

Benchmarks indicate that this change represents a sizable chunk of the perf regression introduced in EF9 by the AOT changes, but doesn't fully address it.

Part of #35053
Bumps [Microsoft.Azure.Cosmos](https://github.com/Azure/azure-cosmos-dotnet-v3) from 3.45.0 to 3.45.2.
- [Release notes](https://github.com/Azure/azure-cosmos-dotnet-v3/releases)
- [Changelog](https://github.com/Azure/azure-cosmos-dotnet-v3/blob/master/changelog.md)
- [Commits](Azure/azure-cosmos-dotnet-v3@3.45.0...3.45.2)

---
updated-dependencies:
- dependency-name: Microsoft.Azure.Cosmos
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Microsoft.AspNetCore.OData](https://github.com/OData/AspNetCoreOData) from 9.0.0 to 9.1.0.
- [Release notes](https://github.com/OData/AspNetCoreOData/releases)
- [Commits](OData/AspNetCoreOData@9.0.0...9.1.0)

---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.OData
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… 9.0.0 (#35140)

Bumps [Microsoft.AspNetCore.Identity.EntityFrameworkCore](https://github.com/dotnet/aspnetcore) from 8.0.10 to 9.0.0.
- [Release notes](https://github.com/dotnet/aspnetcore/releases)
- [Changelog](https://github.com/dotnet/aspnetcore/blob/main/docs/ReleasePlanning.md)
- [Commits](dotnet/aspnetcore@v8.0.10...v9.0.0)

---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.Identity.EntityFrameworkCore
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix contains test

* Force non-nullable to nullable using cast
Bumps [Grpc.AspNetCore](https://github.com/grpc/grpc-dotnet) from 2.66.0 to 2.67.0.
- [Release notes](https://github.com/grpc/grpc-dotnet/releases)
- [Changelog](https://github.com/grpc/grpc-dotnet/blob/master/doc/release_process.md)
- [Commits](grpc/grpc-dotnet@v2.66.0...v2.67.0)

---
updated-dependencies:
- dependency-name: Grpc.AspNetCore
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Microsoft.AspNetCore.OData](https://github.com/OData/AspNetCoreOData) from 9.1.0 to 9.1.1.
- [Release notes](https://github.com/OData/AspNetCoreOData/releases)
- [Commits](OData/AspNetCoreOData@9.1.0...9.1.1)

---
updated-dependencies:
- dependency-name: Microsoft.AspNetCore.OData
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Helix.Sdk
 From Version 9.0.0-beta.24562.13 -> To Version 9.0.0-beta.24572.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Microsoft.Extensions.Caching.Memory , Microsoft.Extensions.Configuration , Microsoft.Extensions.Configuration.Abstractions , Microsoft.Extensions.Configuration.EnvironmentVariables , Microsoft.Extensions.Configuration.Json , Microsoft.Extensions.DependencyInjection , Microsoft.Extensions.DependencyModel , Microsoft.Extensions.HostFactoryResolver.Sources , Microsoft.Extensions.Logging , Microsoft.NETCore.App.Ref , Microsoft.NETCore.App.Runtime.win-x64 , System.Formats.Asn1 , System.Runtime.Caching , System.Text.Encodings.Web , System.Text.Json
 From Version 10.0.0-alpha.1.24565.3 -> To Version 10.0.0-alpha.1.24575.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
maumar and others added 30 commits February 14, 2025 17:13
[automated] Merge branch 'release/9.0' => 'main'
Motivation
We want to be able to re-use existing navigation tests (currently spread around multiple test classes - complex navs, gears of war, northwind, json)
for the upcoming optional complex types, complex collections and json-mapped complex types (all highly requested features in EF).
We also want to be able to increase coverage for existing features, e.g. we have very good coverage of navigations in json test suite, but it's not used for regular or owned entities.
This work can also be used by provider writers (e.g. Mongo) to boost their coverage.

Navigation test refactoring:
- using common model for entity, owned, json and complex type navigations
- 4 levels: root, trunk, branch, leaf
- optional reference, required reference (dependent to principal), collection
- for now just testing projection scenarios as proof of concept (tracking / notracking)

TODO:
- fix owned sqlite model,
- add model with inheritance,
- move actual tests from existing test suites (ongoing),
- add migration check (that model can be migrated to from scratch and that noop is actual noop),
- implement InMemory tests.

- added include stub
- added cosmos tests
…d libs (#35617)

* Improve LoadExtension to work correctly with dotnet run and lib packages
* Use [] instead of Array.Empty
…d libs (#35718)

* Improve LoadExtension to work correctly with dotnet run and lib packages
* Use [] instead of Array.Empty

(cherry picked from commit b1d34dc)

Co-authored-by: Krzysztof Wicher <mordotymoja@gmail.com>
…d libs (#35717)

* Improve LoadExtension to work correctly with dotnet run and lib packages
* Use [] instead of Array.Empty

Co-authored-by: Krzysztof Wicher <mordotymoja@gmail.com>
Breaking change: uniquify and validate complex type column uniqueness

Part of #31376
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet