Insert Data Using Code First Approach Fluent API

Introduction

This article shows how to access a SQL Server database with the Entity Framework Code First Approach and later we will also perform an insert data operation.

Create ASP.Net web application

 

Employee.cs

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5.   
  6. namespace Insert_Data_CFA__Fluent_API  
  7. {  
  8.     public class Employee  
  9.     {  
  10.         public Employee()  
  11.         {  
  12.         }  
  13.   
  14.         public int Id { getset; }  
  15.         public string FirstName { getset; }  
  16.         public string LastName { getset; }  
  17.         public int Age { getset; }  
  18.     }  
  19. }

Employeecontext.cs

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Data.Entity;  
  4. using System.Linq;  
  5. using System.Web;  
  6.   
  7. namespace Insert_Data_CFA__Fluent_API  
  8. {  
  9.     public class EmployeeContext : DbContext  
  10.     {  
  11.         public EmployeeContext()  
  12.             : base("EmployeeConn")  
  13.         {  
  14.             Database.SetInitializer<EmployeeContext>(new CreateDatabaseIfNotExists<EmployeeContext>());  
  15.         }  
  16.   
  17.         protected override void OnModelCreating(DbModelBuilder modelBuilder)  
  18.         {  
  19.             //Set primary key to Employee table  
  20.             modelBuilder.Entity<Employee>().HasKey(m => m.Id).Property(m => m.Id).IsRequired();  
  21.               
  22.             //First Name is required and Max Length is 50  
  23.             modelBuilder.Entity<Employee>().Property(p => p.FirstName).IsRequired().HasMaxLength(50);  
  24.               
  25.             //Last Name is required and Max Length is 50  
  26.             modelBuilder.Entity<Employee>().Property(p => p.LastName).IsRequired().HasMaxLength(50);  
  27.   
  28.             //Age is required   
  29.             modelBuilder.Entity<Employee>().Property(p => p.Age).IsRequired();  
  30.         }  
  31.   
  32.         public DbSet<Employee> Employees { getset; }  
  33.     }  
  34. }

Web.config

  1. <connectionStrings>  
  2.    <add name="EmployeeConn"  
  3.    connectionString="Data Source=WIN-B4KJ8JI75VF;Initial Catalog=EmployeeDB;Integrated Security=true"  
  4.    providerName="System.Data.SqlClient"/>  
  5.  </connectionStrings>

Webform1.aspx

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Insert_Data_CFA__Fluent_API.WebForm1" %>  
  2.   
  3. <!DOCTYPE html>  
  4.   
  5. <html xmlns="http://www.w3.org/1999/xhtml">  
  6. <head runat="server">  
  7.     <title></title>  
  8. </head>  
  9. <body>  
  10.     <form id="form1" runat="server">  
  11.         <div>  
  12.             <table>  
  13.                 <tr>  
  14.                     <td>  
  15.                         <asp:Label ID="Label1" runat="server" Text="Insert Data CFA - Fluent API" Font-Bold="true"></asp:Label>  
  16.                     </td>  
  17.                 </tr>  
  18.             </table>  
  19.             <br />  
  20.             <br />  
  21.             <table>  
  22.                 <tr>  
  23.                     <td>  
  24.                         <asp:Label ID="Label2" runat="server" Text="Please Enter FirstName: " ForeColor="Brown"  
  25.                             Font-Bold="true" Font-Italic="true"></asp:Label>  
  26.                     </td>  
  27.                     <td>  
  28.                         <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>  
  29.                     </td>  
  30.                 </tr>  
  31.                 <tr>  
  32.                     <td>  
  33.                         <asp:Label ID="Label3" runat="server" Text="Please Enter LastName: " ForeColor="Brown"  
  34.                             Font-Bold="true" Font-Italic="true"></asp:Label>  
  35.                     </td>  
  36.                     <td>  
  37.                         <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>  
  38.                     </td>  
  39.                 </tr>  
  40.                 <tr>  
  41.                     <td>  
  42.                         <asp:Label ID="Label4" runat="server" Text="Please Enter Age: " ForeColor="Brown"  
  43.                             Font-Bold="true" Font-Italic="true"></asp:Label>  
  44.                     </td>  
  45.                     <td>  
  46.                         <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>  
  47.                     </td>  
  48.                 </tr>  
  49.                 <tr>  
  50.                     <td colspan="2">  
  51.                         <asp:Button ID="Button1" runat="server" Text="Insert Data"  
  52.                             BackColor="Orange" Font-Bold="true" OnClick="Button1_Click" />  
  53.                         <br />  
  54.                         <br />  
  55.                     </td>  
  56.                 </tr>  
  57.             </table>  
  58.             <br />  
  59.             <br />  
  60.             <table>  
  61.                 <tr>  
  62.                     <td colspan="3">  
  63.                         <asp:Label ID="Label5" runat="server" ForeColor="Red" Font-Bold="true"></asp:Label>  
  64.                     </td>  
  65.                 </tr>  
  66.             </table>  
  67.         </div>  
  68.     </form>  
  69. </body>  
  70. </html>

Webform1.aspx.cs

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Web;  
  5. using System.Web.UI;  
  6. using System.Web.UI.WebControls;  
  7.   
  8. namespace Insert_Data_CFA__Fluent_API  
  9. {  
  10.     public partial class WebForm1 : System.Web.UI.Page  
  11.     {  
  12.         protected void Page_Load(object sender, EventArgs e)  
  13.         {  
  14.   
  15.         }  
  16.   
  17.         protected void Button1_Click(object sender, EventArgs e)  
  18.         {  
  19.             Label5.Text = String.Empty;  
  20.             EmployeeContext empContext = new EmployeeContext();  
  21.             Employee emp = new Employee() { FirstName = TextBox1.Text, LastName = TextBox2.Text, Age = int.Parse(TextBox3.Text) };  
  22.             empContext.Employees.Add(emp);  
  23.             empContext.SaveChanges();  
  24.             Label5.Text = "Data Inserted Successfully";  
  25.         }  
  26.     }  
  27. }

The following shows the output of the application:

 

Summary

In this article, we saw how to use a SQL Server database with Entity Framework Code First Approach and insert data.

Happy coding!


Similar Articles
MVC Corporation
MVC Corporation is consulting and IT services based company.