Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'Migrations' does not exist in the namespace 'Microsoft.EntityFrameworkCore'

I'm doing a ASP.NET Core project. I've installed Microsoft.EntityFrameworkCore and Microsoft.EntityFrameworkCore.Tools NuGet packages.

I ran Add-Migration InitialCreate command, Which created Migrations folder and 20180905180349_InitialCreate.cs file.

But it says

The type or namespace name 'Migrations' does not exist in the namespace 'Microsoft.EntityFrameworkCore' (are you missing an assembly reference?)

What is the cause of this error. Do i need to install any other package ?

like image 220
B45i Avatar asked Sep 05 '18 18:09

B45i


People also ask

What is dotnet EF migrations?

EF Core migrations are a set of commands which you can execute in NuGet Package Manager Console or in dotnet Command Line Interface (CLI).


2 Answers

Ok, I will show you the minimal setup required for EF Core + Migrations:

You will need to install Microsoft.EntityFramework.Core, but it is better that instead of that package you first install a EF Core provider for the database you will use. Then that EF Core provider will pull in all the required dependencies ( including Microsoft.EntityFramework.Core ) .

So (for example) for SQLServer db, in the Package Manager Console I will install:

  1. Install-Package Microsoft.EntityFrameworkCore.SqlServer

  2. Install-Package Microsoft.EntityFrameworkCore.Tools (for powershell commands)

  3. Install-Package Microsoft.EntityFrameworkCore.Design (contains migrations engine - and important note this package has to be inside executable project)

And that's it.

like image 154
juramarin Avatar answered Oct 24 '22 08:10

juramarin


I faced a similar issue and found that I haven't installed Microsoft.EntityFrameworkCore.SqlServer. Initially, I have installed only Microsoft.EntityFrameworkCore and Microsoft.EntityFrameworkCore.Tools.

After installing Microsoft.EntityFrameworkCore.SqlServer problem gets resolved

like image 3
Niraj Trivedi Avatar answered Oct 24 '22 07:10

Niraj Trivedi