Introduction
In this tutorial, we will develop a simple C# console application that we can insert using Entity Framework Core.
Getting Started
In ASP.NET 5 we can create console applications. To create a new console application, first, open Visual Studio 2015. Create the application using File-> New-> Project.
Now we will select the ASP.NET 5 Console Application and click on the OK button.
We’re going to use the Entity Framework Designer included as a part of Visual Studio.
Step 1: Click on Project -> Manage NuGet Package.
Use the below table query to executes any database in the SQL Server.
- CREATE TABLE [dbo].[Departments]( [DeptId] [int] NOT NULL,
- [DeptName] [varchar](50) NULL,
- CONSTRAINT [PK_Departments] PRIMARY KEY CLUSTERED
- (
- [DeptId] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY]
-
- GO
-
- CREATE TABLE [dbo].[Employees](
- [EmpId] [int] NOT NULL,
- [EmpName] [varchar](50) NULL,
- [DeptId] [int] NULL,
- CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED
- (
- [EmpId] ASC
- )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
- ) ON [PRIMARY]
- GO
We need
to include the following references in our application:
- using System;
- using System.Collections.Generic;
- using Microsoft.EntityFrameworkCore;
- using System.ComponentModel.DataAnnotations;
In the main method, I have created 3 classes and 1 method.
- Department – To define class members.
- Employee – To define class members.
- EagerLoadingDbContext= Initialize dB context in the class.
- SavedDatabaseOperations– Saved Operation in this method.
Please refer the code snippet below.
- public static void Main(string[] args)
- {
- try
- {
- SavedDatabaseOperations();
- Console.Write("Data is saved successfully !");
- }
- catch (Exception ex)
- {
- Console.WriteLine("Error:" + ex.Message);
- }
- Console.ReadKey();
- }
Initialize the class
The first-class definition for the Department is given below.
- public class Department
- {
- [Key]
- public int DeptId { get; set; }
-
- public string DeptName { get; set; }
- }
The second-class definition for the
Employee is given below.
- public class Employee
- {
- [Key]
- public int EmpId { get; set; }
-
- public string EmpName { get; set; }
-
- public int DeptId { get; set; }
- }
The Third-class definition for the
EagerLoadingDbContext is given below.
- class EagerLoadingDbContext : DbContext
- {
-
- private const string connectionString = "Your own Sql-Server connection string";
-
- protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
- {
- optionsBuilder.UseSqlServer(connectionString);
- }
-
- public DbSet<Department> Departments { get; set; }
-
- public DbSet<Employee> Employees { get; set; }
- }
Initialize the Method
The method definition for the SavedDatabaseOperations() is given below.
- public static void SavedDatabaseOperations()
- {
- using (var db = new EagerLoadingDbContext())
- {
- var department = new List<Department>
- {
- new Department{ DeptId = 1,DeptName = "IT"},new Department{DeptId = 2,DeptName = "HR" },new Department{DeptId = 3,DeptName = "Marketing" }
- };
-
- db.Departments.AddRange(department);
-
- var employee = new Employee
- {
- EmpId = 1,
- EmpName = "Nirmal",
- DeptId = 1,
-
- };
-
- db.Employees.Add(employee);
-
- db.SaveChanges();
- }
- }
Click on F5 and execute the project and follow the console window. The output will be:
Summary
I hope this article helps while trying to perform an insert using Entity Framework Core Data Model. Thanks for reading this article!