Announcing Entity Framework 7 Release Candidate 1

Jeremy Likness

Entity Framework Core 7 (EF7) Release Candidate 1 has shipped! The team focused on addressing defects, minor enhancements, and putting the finishing touches on features.

See the full list of EF7 RC1 changes on GitHub.

For a detailed look at what’s new in EF7, with working samples, check out our newly updated What’s New in EF7 documentation. You can also read the feature deep dives in our previous blog posts:

EF7 Prerequisites

  • EF7 targets .NET 6, which means it can be used on .NET 6 (LTS) or .NET 7.
  • EF7 will not run on .NET Framework.

EF7 is the successor to EF Core 6.0, not to be confused with EF6. If you are considering upgrading from EF6, please read our guide to port from EF6 to EF Core.

How to get EF7 RC1

EF7 is distributed exclusively as a set of NuGet packages. For example, to add the SQL Server provider to your project, you can use the following command using the dotnet tool:

dotnet add package Microsoft.EntityFrameworkCore.SqlServer --version 7.0.0-rc.1.22426.7

This following table links to the RC1 versions of the EF Core packages and describes what they are used for.

Package Purpose
Microsoft.EntityFrameworkCore The main EF Core package that is independent of specific database providers
Microsoft.EntityFrameworkCore.SqlServer Database provider for Microsoft SQL Server and SQL Azure
Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuite SQL Server support for spatial types
Microsoft.EntityFrameworkCore.Sqlite Database provider for SQLite that includes the native binary for the database engine
Microsoft.EntityFrameworkCore.Sqlite.Core Database provider for SQLite without a packaged native binary
Microsoft.EntityFrameworkCore.Sqlite.NetTopologySuite SQLite support for spatial types
Microsoft.EntityFrameworkCore.Cosmos Database provider for Azure Cosmos DB
Microsoft.EntityFrameworkCore.InMemory The in-memory database provider
Microsoft.EntityFrameworkCore.Tools EF Core PowerShell commands for the Visual Studio Package Manager Console; use this to integrate tools like scaffolding and migrations with Visual Studio
Microsoft.EntityFrameworkCore.Design Shared design-time components for EF Core tools
Microsoft.EntityFrameworkCore.Proxies Lazy-loading and change-tracking proxies
Microsoft.EntityFrameworkCore.Abstractions Decoupled EF Core abstractions; use this for features like extended data annotations defined by EF Core
Microsoft.EntityFrameworkCore.Relational Shared EF Core components for relational database providers
Microsoft.EntityFrameworkCore.Analyzers C# analyzers for EF Core

We also published the release candidate 1 of the Microsoft.Data.Sqlite.Core provider for ADO.NET.

Installing the EF7 Command Line Interface (CLI)

Before you can execute EF7 Core migration or scaffolding commands, you’ll have to install the CLI package as either a global or local tool.

To install the RC tool globally, install with:

dotnet tool install --global dotnet-ef --version 7.0.0-rc.1.22426.7 

If you already have the tool installed, you can upgrade it with the following command:

dotnet tool update --global dotnet-ef --version 7.0.0-rc.1.22426.7 

It’s possible to use this new version of the EF7 CLI with projects that use older versions of the EF Core runtime.

Daily builds

EF7 release candidates are aligned with .NET 7 release candidates. These releases tend to lag behind the latest work on EF7. Consider using the daily builds instead to get the most up-to-date EF7 features and bug fixes.

As with the release candidates, the daily builds require .NET 6.

The .NET Data Community Standup

The .NET data team is now live streaming every other Wednesday at 10am Pacific Time, 1pm Eastern Time, or 17:00 UTC. Join the stream to ask questions about the data-related topic of your choice, including the latest release candidate.

Documentation and Feedback

The starting point for all EF Core documentation is docs.microsoft.com/ef/.

Please file issues found and any other feedback on the dotnet/efcore GitHub repo.

The following links are provided for easy reference and access.

Thank you from the team

A big thank you from the EF team to everyone who has used and contributed to EF over the years!

Welcome to EF7.

5 comments

Discussion is closed. Login to edit/delete existing comments.

  • zephania Eliah 1

    Hello Jeremy, congratulations for the hoid work you and you team put on making ef core great and performant. I want to know if in this release json clumns are supported…

  • Tharindu Gunawardhana 0

    Hi Jeremy, I did the upgrade but my function app now fails at runtime throwing the dreaded ‘Could not load file or assembly ‘Microsoft.Extensions.Configuration.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60′. The system cannot find the file specified.’ error in the ConfigureStartup method. I remember this happening when we upgrade from 3.1 to 5. I’m not even referencing this. It looks like some transitive dependencies stepping on each others toes. Do you have any leads?

    A minimal reproduceable repo is here: https://github.com/elninoisback/ef7rc-fnapp-issue

    • Jeremy LiknessMicrosoft employee 0

      Thank you for sharing this and creating a repro. That is incredibly helpful! If you are able to, please file an issue at:

      https://github.com/dotnet/efcore/issues/new

      This will ensure that our team is aware and able to triage and prioritize.

      Thank you,

      Jeremy

  • MaxiTB 0

    Hi,

    Just a quick question:

    While I love the idea of interceptors, I wonder what the overall performance impact is, even if they are not used. In the best case (I guess) it’s a null check on a delegate, but depending there this happens, that is eventually a non-zero overhead which can’t be optimized (because dynamic).

    So my question is, is there any performance data in regards of the additional overhead available as well or should we run our own benchmarks to avoid in productions surprises for iteration intensive operations where interceptors may hook in?

Feedback usabilla icon