.NET Core and Entity Framework make connecting to an existing database really easy. This post will demonstrate how to generate models for an existing database using .NET Core Entity Framework. Note that you must have the .NET Core SDK installed.
First, let’s create a new console application. Open a new terminal and run the following commands:
/> dotnet new console -o MyConsoleApp
/> cd MyConsoleApp
If your app is using ASP.NET Core 2.1+, you’ll get all the Entity Framework packages you need. However, our console app is using .NET Core (not ASP.NET Core), so we need to install a couple more packages. Run the following commands:
/> dotnet add package Microsoft.EntityFrameworkCore.Design
/> dotnet add package Microsoft.EntityFrameworkCore.SqlServer
Now we’re ready to create our models. Again, we’ll do this by running a command in the terminal. Run the following command to generate models for all tables in your database along with a DbContext.
/> dotnet ef dbcontext scaffold "<connection string>" Microsoft.EntityFrameworkCore.SqlServer -o Models
Need help obtaining the connection string? If you’re using SQL Azure, you can browse to the database in the Azure Portal, and click the Connection Strings link.
With your DbContext and models created, you should now be able to write code to access tables. Add the following lines to your console app’s Program.cs:
using System; using System.Linq; using MyConsoleApp.Models; namespace MyConsoleApp { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); using (var context = new YourDatabaseNameContext()) { var foo = context.SomeTable.First(); } } } }