CARVIEW |
Select Language
HTTP/2 200
date: Fri, 25 Jul 2025 02:53:54 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"90c44b6f854627bdd4a51b6e51af83f2"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=3YcBAe1dPbupZ8iiqbbt53OM%2BikDF3ZQzqSAQ%2F0nQSl3u1rv%2B2mLCLXbFuThRCCr5GKPUFuleG9cakmB8H%2FwoaX19AcwD3fqKEUQTncHS6JVmC%2FDeedDfaLqLW1dlLF9OOeg0DcX%2FaskmT8JQva5AN1f%2FJb%2Fn%2B14ZyLhU1hnOqvqpOVRhW6%2B9n0PaUmijt4R1aw5xxUpFE8Pmpyq01ibdh6faf%2BD2mKtT232GVldNjZchP05GeQ1rXTZJM7dDMGs9xpu1%2B8tYvU776ykwyFPsA%3D%3D--B3BWXeVJgJC1K7cr--tjYkSJgENscb6obC6gibSA%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.428965704.1753412033; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 02:53:53 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sat, 25 Jul 2026 02:53:53 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: EA08:2EEC20:DA739:14B4D0:6882F1C1
Release EF Core 8 (EF8) · dotnet/efcore · GitHub
Loading
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 3.3k
EF Core 8 (EF8)
Compare
EF Core 8 (EF8) is available from NuGet
EF8 contains many new features and enhancements, including:
- Allow Multi-region or Application Preferred Regions in EF Core Cosmos
- Use C# structs or classes as value objects
- Support primitive collections in the compiled model
- Migrations and model snapshot for primitive collections
- Query: add support for projecting JSON entities that have been composed on
- SQLite: Add EF.Functions.Unhex
- Add type mapping APIs to customize JSON value serialization/deserialization
- SQL Server Index options SortInTempDB and DataCompression
- Analyzer: warn (and code fix) for use of interpolation in SQL methods accepting raw strings
- Translate Contains to IN with subquery instead of EXISTS where relevant
- Allow inline primitive collections with parameters, translating to VALUES
- Translate DateOnly.FromDateTime
- Implement JSON serialization/deserialization via Utf8JsonReader/Utf8JsonWriter
- Update pattern for scaffolding column default constraints
- Use IN instead of EXISTS with ExecuteDelete and entity containment
- Allow ExecuteUpdate to update properties of multiple queries as long as the map to a single table
- Query: add support for projecting primitive collections from JSON entities
- Switch to storing enums as ints in JSON instead of strings
- Translate DegreesToRadians
- Metadata and type mapping support for primitive collections
- JSON type representations and conversions to store types
- Allow stripping away all model building code to reduce application size
- Json: add support for collection of primitive types inside JSON columns
- Support LINQ querying of non-primitive collections within JSON
- SQLite RevEng: Sample data to determine CLR type
- Allow default value check in value generation to be customized
- Update handling of non-nullable store-generated properties
- IN() list queries are not parameterized, causing increased SQL Server CPU usage
- Allow 'unsharing' connection between contexts
- Remove unneeded subquery and projection when using ordering without limit/offset in set operations
- Make SequentialGuidValueGenerator non-allocating
- Support querying over primitive collections
- JSON/Sqlite: use -> and ->> where possible when traversing JSON, rather than json_extract
- Add Generic version of EntityTypeConfiguration Attribute
- NativeAOT/trimming compatibility for Microsoft.Data.Sqlite
- Map collections of primitive types to JSON column in relational database
- Translate DateTimeOffset.ToUnixTime(Seconds|Milliseconds)
- Allow pooling DbContext with singleton services
- Optional RestartSequenceOperation.StartValue
- Generate compiled relational model
- Global query filters produce too many parameters
- Optimize update path for single property JSON element
- JSON columns can be used in compiled models
- Unneeded parentheses removed in SQL queries
- Set operations are supported over non-entity projections with different facets
- Json: add support for Sqlite provider
- SQL Server: Support hierarchyid
- Configuration to opt out of occasionally problematic SaveChanges optimizations
- Add convention types for triggers
- Translate element access of a JSON array
- Raw SQL queries for unmapped types
- Support the new BCL DateOnly and TimeOnly structs for SQL Server
- Translate ElementAt(OrDefault)
- Opt-out of lazy-loading for specific navigations
- Lazy-loading for no-tracking queries
- Reverse engineer Synapse and Dynamics 365 TDS
- Set MaxLength on TPH discriminator property by convention
- Translate ToString() on a string column
- Generic overload of ConventionSetBuilder.Remove
- Lookup tracked entities by primary key, alternate key, or foreign key
- Allow UseSequence and HiLo on non-key properties
- Pass query tracking behavior to materialization interceptor
- Use case-insensitive string key comparisons on SQL Server
- Allow value converters to change the DbType
- Resolve application services in EF services
- Numeric rowersion properties automatically convert to binary
- Allow transfer of ownership of DbConnection from application to DbContext
- Provide more information when 'No DbContext was found' error is generated
EF Core 8 contains work from the EF Team at Microsoft (@bricelam @roji @AndriySvyryd @maumar @ajcvickers) as well as contributions from the EF Core community. The community PRs in EF8 are:
- @ErikEJ:
- Update issue templates by ErikEJ · Pull Request #29470 · dotnet/efcore (github.com)
- Reverse engineering of Dynamics CRM TDS endpoint and Synapse Serverless SQL Pool by ErikEJ · Pull Request #29122 · dotnet/efcore (github.com)
- Check for SQL Server VIEW DEFINITION rights fails, if databasename contains special chars by ErikEJ · Pull Request #29612 · dotnet/efcore (github.com)
- Make EngineEdition more readable by ErikEJ · Pull Request #31038 · dotnet/efcore (github.com)
- Fix FK duplicate detection bug by ErikEJ · Pull Request #31181 · dotnet/efcore (github.com)
- Add DateOnly.FromDateTime query mapping for SQL Server by ErikEJ · Pull Request #31180 · dotnet/efcore (github.com)
- @DoctorKrolic:
- Remove unnecessary dependency on MS.CA.VB package by DoctorKrolic · Pull Request #29986 · dotnet/efcore (github.com)
- Refactor internal usage analyzer by DoctorKrolic · Pull Request #30767 · dotnet/efcore (github.com)
- Add analyzer/codefix for usage of interpolated strings in raw query methods by DoctorKrolic · Pull Request #30835 · dotnet/efcore (github.com)
- Refactor analyzers' test infrastructure by DoctorKrolic · Pull Request #30814 · dotnet/efcore (github.com)
- @stevendarby:
- Don't duplicate query filter parameters by stevendarby · Pull Request #29422 · dotnet/efcore (github.com)
- Allow changing an open connection if it's not owned by stevendarby · Pull Request #30706 · dotnet/efcore (github.com)
- Allow DI for pooled DbContexts by stevendarby · Pull Request #30739 · dotnet/efcore (github.com)
- @kuznetsovvj:
- @bikbov:
- @nbarbettini:
- @gurustron:
- @alhad-deshpande:
- @Suchiman:
- @ilmalte:
- @Mihaita:
- @Marusyk:
- @OsamaAbuSitta:
- @NKnusperer:
- @memory-thrasher:
- @beliakov-mb:
- @netotz:
- @justindbaur:
- @matheus-inacio:
- @smnsht:
- @freakingawesome
- @Varorbc:
- @hmajerus:
- @sulton-max:
See GitHub for all issues resolved in 8.0.0.
Assets 2
10 people reacted
You can’t perform that action at this time.