Since 5 months ago • Spent previous years mainly on .NET and C++ • Working with hardware • Performance • Low level • Interested in all things tech About Me Disclaimer – Not a DBA or Entity Guru
Allows developers to interact with relational databases • Use domain specific classes and LINQ – translated to SQL • Combat Object-relational impedance mismatch Supports different workflows • Code or Box & Line designer • Database or Code or Model first Relies on .NET Framework • Current version – EF 6.x What is Entity Framework “Entity Framework is Microsoft’s recommended data access technology for new applications” MSDN
• Cross platform focus – targets .NET Standard • Lightwieght • Extensible Started life as EF 7 • Changed name to clarify that it is a different product • Does not have all features of EF 6 Supported on .NET Framework, .NET Core and Xamarin* • Current version is EF Core 1.1.0 *Eventually, when it supports .NET Standard 2.0 What is Entity Framework Core
First version 2010 – EF 4.0 - Second version – not semantic versioning 2011 – EF 4.1 – Code First support 2013 – EF 6.0 June 2016 – EF Core 1.0 November 2016 – EF Core 1.1.0
provide data access • Largely the same developer experience • APIs largely the same • Entity classes, DbSet, DbContext etc • Use LINQ and automatically translated to queries • Supports .NET Framework EF Core vs EF 6 EF Core EF 6 New product Cross platform (.NET and OS) Explicit configuration and DI Some EF Core Only Features Stable and mature .NET Framework (Windows) Auto-configuration Magic Some EF 6 Only Features
SQL Server (including SQL Azure) EF SQLLite EF In Memory EF Oracle under Evaluation Not yet supported EF PostgreSQL Npgsql MySQL MySQL Pomelo Sapient Guardian Devart dbConnect MySQL, Oracle, PostgreSQL, SQLite, DB2, Cloud apps Devart dbConnect SQL Server Compact Edition ErikEJ/EntityFramewor k.SqlServerCompact
Visual Studio 2017 RC 1 • .Net Core 1.1 – MSBuild Tools • Much simplified csproj project format Why has Microsoft gone back to csproj from project.json file • One .NET tools ecosystem • Project to project references • Proven scalability The CLI works the same CSProj is Back, Baby!
Only bug fixes, community contributions etc All new major features & innovations are going into EF Core • Azure Table Storage • Redis • Non relational databases • UWP and Xamarin What’s in the Future
have no choice Otherwise, it depends • Can you survive without the missing features? • Can you survive with some instability? • Do you have use cases that need a performance gain? Avoid migrating existing code from EF 6.x to EF Core • Advantages don’t outweigh the effort Should I use EF Core?
EF Core 1.0 Feature Comparison https://docs.microsoft.com/en-us/ef/efcore-and-ef6/features .NET Core https://www.microsoft.com/net/core#windowsvs2015 Visual Studio 2017 RC https://www.visualstudio.com/vs/visual-studio-2017-rc/ Lego Data Sets http://rebrickable.com/downloads More Info