Install EF first:
dotnet tool install --global dotnet-ef
Prepare a clean .NET project:
anduin@aiursoft.com MINGW64 ~/Desktop
$ mkdir Temp
anduin@aiursoft.com MINGW64 ~/Desktop
$ cd Temp/
anduin@aiursoft.com MINGW64 ~/Desktop/Temp
$ dotnet new console
Getting ready...
The template "Console Application" was created successfully.
Processing post-creation actions...
Running 'dotnet restore' on C:\\Users\\xuef\\Desktop\\Temp\\Temp.csproj...
Determining projects to restore...
Restored C:\\Users\\xuef\\Desktop\\Temp\\Temp.csproj (in 61 ms).
Restore succeeded.
anduin@aiursoft.com MINGW64 ~/Desktop/Temp
$ ls
obj/ Program.cs Temp.csproj
Before further steps, install some required dependencies:
anduin@aiursoft.com MINGW64 ~/Desktop/Temp
$ dotnet add package Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.Design --interactive
And try to execute the following command under your project folder to reverse the database:
$ dotnet ef dbcontext scaffold "Server=....." Microsoft.EntityFrameworkCore.SqlServer -o Models
And fill the string Server=.....
with your database connection string. Make sure that you can connect to this database successfully.
anduin@aiursoft.com MINGW64 ~/Desktop/Temp
$ dotnet ef dbcontext scaffold "Data Source=aaaaaaaaa.database.windows.net;Initial Catalog=bbbbbbb;User ID=mydatabase;Password=cccc
ccccc" Microsoft.EntityFrameworkCore.SqlServer -o Models --table EmergencyPatchAttempts
Build started...
Build succeeded.
To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection
string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing conne
ction strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
And EF will try to build models from the database.
Note: Once you have created the model, you must use the Migration commands whenever you change the model to keep the database up to date with the model.
Only want to reverse one table or one view?
Yeah, that command is supported to operate only one table or one view.
Pass the parameter: -t TableNameOrViewName
Example:
$ dotnet ef dbcontext scaffold "Server=....." Microsoft.EntityFrameworkCore.SqlServer -o Models -t TableOrViewName