Entity Framework Preview 7s Ship
Microsoft shipped the seventh previews of Entity Framework Core 3.0 and Entity Framework 6.3, as the whole .NET Core 3.0 offering has become production-ready in its own Preview 7.
As the company announced in May with Entity Framework 6.3 Preview, it has taken the traditional open source object-relational mapping (ORM) framework to the .NET Core space, joining Entity Framework Core as an option for leveraging the upcoming.NET Core 3.0.
Entity Framework was originally part of the traditional 17-year-old Windows-based .NET Framework, but with Entity Framework 6 the runtime was separated from that platform.
Microsoft described the two offerings thusly:
- Entity Framework 6 (EF6) is a tried and tested object-relational mapper (O/RM) for .NET with many years of feature development and stabilization.
- Entity Framework (EF) Core is a lightweight, extensible, open source and cross-platform version of the popular Entity Framework data access technology.
In announcing EF Core 3.0 Preview 7, Microsoft said it has made progress in improving query functionality in its new LINQ implementation, with which the dev team has struggled.
"For example, the translation of GroupBy, auto-include of owned types, and query tags are now functional again," said Diego Vega, program manager, .NET Data Access, in a July 23 blog post. "Also, for the first time in EF Core, we now support SQL translation of LINQ set operators like Union, Concat, Intersect, and Except.
"You can still expect some common query functionality to be missing or broken in this preview. Examples of this are the explicitly compiled query API, and global query filters. But all the major pieces should be in place by preview 8, and after that, our focus will be on improving the quality of the release."
Another new feature in Preview 7 is a new API for the interception of database operations, similar to the EF 6 interception feature. "It enables writing simple logic that is invoked automatically by EF Core whenever, for example, a database connection is opened, a transaction is committed or a query is executed," Vega said. "Interceptors usually allow you to intercept operations before they happen or after they happen. When you intercept them before they happen, you are allowed to by-pass execution and supply alternate results from the interception logic."
Other new features that had been planned have been postponed as the dev team focuses on improving quality of existing functionality.
Regarding EF 6.3 Preview 7, Vega said " we have completed the majority of the work necessary for the EF 6.3 package to work on .NET Core project, and with NuGet PackageReference in all types of projects."
"We encourage you to install these previews to try the new features, and to validate that all the functionality required by your applications is available and works correctly," he said. "As always, we hope you'll report any issues you find on GitHub."
David Ramel is the editor of Visual Studio Magazine.