- Add abstract CompositeValidationAttribute.
- Change DataAnnotationsMetadataProvider.CreateValidationMetadata to
populate ValidatorMetadata with validation attributes from CompositeValidationAttribute.
- #7805
- make initial copy of apps from aspnet/Performance repo
- add apps to solution
- add Readme for the benchmark apps
- update BasicApi app to actually do authentication and authorization
- bug in the ported app
- refactor `Main` methods and add `CreateWebHostBuilder(...)` methods
- change projects to understand `$(BenchmarksTargetFramework)`
- use NuGet.org EF packages to avoid changing the Universe build graph
- use SQLite instead of LocalDb by default
- remove unnecessary appsettings.json files and JSON configuration support
- add EF migrations
- (greatly) reduce startup times compared to creating / deleting databases
- add MySql, PostgreSQL, and SqlServer support
- load BasicApi data in a `DbContext.OnModelCreating(...)` override
- no longer need seed.sql
- generalize migrations to support multiple providers
- use negative seeding indices to work around npgsql/Npgsql.EntityFrameworkCore.PostgreSQL#36
- work around Pomelo lack of strong name (PomeloFoundation/Pomelo.EntityFrameworkCore.MySql#603)
- use BenchmarksOnly* properties for EF dependencies
- see also aspnet/Universe#1224
- drop databases (if SQLite) or migrations (otherwise) in `IApplicationLifetime.ApplicationStopping` handlers
- add functional tests
- drop SQLite database at end of test run
- add benchmarks automation
- add anonymous BasicApi action i.e. require no authorization
- add non-antiforgery BasicViews actions
Address PR comments
- remove `AntiforgeryTestHelper` workarounds
- use `[ApiController]`
- use `ActionResult<Pet>`
- remove unused classes
nits:
- take VS suggestions in added files
- optionally display create and delete SQL scripts for per-database migrations
- merge `InsertData(...)` calls for consistency with most supported EF providers
- SQLite is the only one that requires separate `INSERT`s and EF does the splitting
Allow properties on controllers, Razor Page and Razor Page models annotatted with [ViewDataAttribute]
to populate ViewDataDictionary
Fixes https://github.com/aspnet/Mvc/issues/6525
- #7413 part 1 of 2
- made all `ModelMetadataProvider` and `ObjectModelValidator`-specific code conditional
- fortunately, `MvcOptions` easy to get; affected code is primarily `internal` or pub-`Internal`
- remove unnecessary `ModelMetadataProvider` use in `ApiBehaviorApplicationModelProvider`
- run integration and functional tests with `CompatibilityVersion.Version_2_1`
- functional test change depends on @javiercn's recent #7541 fix
- remove test code now redundantly turning compatibility switches on
nits:
- correct spelling errors in `CompatibilitySwitch`
- take VS suggestions, mostly in test code
- rename methods in `ControllerBinderDelegateProviderTest` to match current API
- slightly refactor in `ApiBehaviorApplicationModelProvider`
* Clean up unnecessary workarounds on the build project.
* Remove the need to specify the content root relative to the solution
and use a solution based on an assembly level attribute on the test
assembly created at build time.
* Remove non parameterless constructors.
* Add support for creating specialized factories from the base factory
and keep track of "child" factories for disposal.
* Add support for creating clients that handle cookies and redirects
automatically.
* Detect a ConfigureDefaultBuilder static method on Program.cs of the test site
and use it to initialize the IWebHostBuilder instance that we configure for testing.
* Make use of the new service configuration extensibility points in Hosting to override
services for testing.
* Get rid of MvcWebApplicationBuilder and move MVC specific methods into extension methods.