I know that Entity Framework migrations aren't compatible with Entity Framework Core, but I could not find a statement clarifying whether Entity Framework Core migrations are guaranteed to be compatible with all future versions of Entity Framework Core. Is there any such statement?
No. But EF -> EF Core was a rewrite, with lots of breaking changes. There is nothing like that planned for the future.
But worst-case scenario you would need to Reset All Migrations.
Related
As performance of our application is lack lustre we may try to migrate it from using Entity Framework 6.1.2 to Entity Framework Core 2.1. I cannot find a clear overview what pitfalls there will be. I do not expect too much problems arising from the need to rewrite some queries, but I am especially wondering what needs to be done about our 30+ migrations that we have for the database.
Are there examples on how to migrate Migrations from EF 6 to EF-core 2.1?
If you have EF 6 as Database-First and EF Core is Code-First. You can use reverse POCO generator. Then run Add-Migration to generate migration. Now you have to take care, You need to remove the changes from Up method. Now run Update-Database. From now onwards follow Code-first approach. you make changes in model, generate migration and run Update-Database.
Welcome yo EF Core.
Is it possible to deploy / install Entity Framework Core 2.0 alongside traditional Entity Framework 6? Is it fully possible, or possible but with some hang-ups, or not possible? Is this documented somewhere? I think I've seen they said they designed it to be side-by-side, but I'm having a hard time fully confirming this. Thanks.
The official documentation says the following:
It is possible to use EF Core and EF6 in the same application. EF
Core and EF6 have the same type names that differ only by namespace,
so this may complicate code that attempts to use both EF Core and EF6
in the same code file.
If you are porting an existing application that has multiple EF
models, then you can selectively port some of them to EF Core, and
continue using EF6 for the others.
This means of course that you can install both EF6 and EF Core in the same project. I have done this in a few simple cases myself and it was working ok.
When I read posts about db-first vs. code first approaches, I get the impression that code-first is the rising star and superior to db-first so that db-fist is about to be deprecated in the future releases of Entity Framework.
I could not find an official statement from Microsoft but they seem to be endorsing code-first by things like Identity Framework etc. Would it be a mistake to start a new project using EF DB-first?
You have EF 6 for the more traditional EF and EF 7 which became EF Core.
In my opinion you are better off focusing your effort on using EF independent from either approach.
Here's a link to an article written by EF Expert Julie Lerman.
https://msdn.microsoft.com/en-us/magazine/dn890367.aspx
Are there any compatibility issues when using EF with SP?
Is there any particular version of EF that needs to be used with SP-2010/2013?
In the past It's been easy to set a connection in LinqPad to a custom assembly that had EF model. Linqpad looks for a that is based on System.Data.Objects.ObjectContext which doesn't exist
How (if at all) does one make their model assembly compatible with LinqPad.?
Right now, LINQPad does not support the EF CTP's code-first: there's a feature request here.
It's almost certain that support will be added in the future - if this EF feature makes it past CTP (and maybe sooner with sufficient demand).
Edit: LINQPad now supports code-first with EF 4.1.