Introduction

This article shows how to delete data using the Code First approach.

Create an ASP.Net web application as in the following:

Before delete

Employee.cs

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.ComponentModel.DataAnnotations;
  6. using System.ComponentModel.DataAnnotations.Schema;
  7. namespace Insert_Data___Code_Frist_Approach
  8. {
  9. public class Employee
  10. {
  11. public Employee()
  12. {
  13. }
  14. [Key]
  15. [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  16. public int Id { get; set; }
  17. public string FirstName { get; set; }
  18. public string LastName { get; set; }
  19. public int Age { get; set; }
  20. }
  21. }
Employeecontext.cs
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.Entity;
  4. using System.Linq;
  5. using System.Web;
  6. namespace Insert_Data___Code_Frist_Approach
  7. {
  8. public class EmployeeContext : DbContext
  9. {
  10. public EmployeeContext()
  11. : base("EmployeeConn")
  12. {
  13. Database.SetInitializer<EmployeeContext>(new CreateDatabaseIfNotExists<EmployeeContext>());
  14. }
  15. public DbSet<Employee> Employees { get; set; }
  16. }
  17. }
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="Delete_Data___EF_Code_First_Approach.WebForm1" %>
  2. <!DOCTYPE html>
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5. <title></title>
  6. </head>
  7. <body>
  8. <form id="form1" runat="server">
  9. <div>
  10. <table>
  11. <tr>
  12. <td>
  13. <asp:Label ID="Label1" runat="server" Text="Delete Data - EF Code First Approach" Font-Bold="true"></asp:Label>
  14. </td>
  15. </tr>
  16. </table>
  17. <br />
  18. <br />
  19. <table>
  20. <tr>
  21. <td>
  22. <asp:Label ID="Label6" runat="server" Text="Please Enter Id: " ForeColor="Brown"
  23. Font-Bold="true" Font-Italic="true"></asp:Label>
  24. </td>
  25. <td>
  26. <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
  27. </td>
  28. </tr>
  29. <tr>
  30. <td colspan="2">
  31. <asp:Button ID="Button1" runat="server" Text="Delete Data"
  32. BackColor="Orange" Font-Bold="true" OnClick="Button1_Click" />
  33. <br />
  34. <br />
  35. </td>
  36. </tr>
  37. </table>
  38. <br />
  39. <br />
  40. <table>
  41. <tr>
  42. <td colspan="3">
  43. <asp:Label ID="Label5" runat="server" ForeColor="Red" Font-Bold="true"></asp:Label>
  44. </td>
  45. </tr>
  46. </table>
  47. </div>
  48. </form>
  49. </body>
  50. </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. namespace Delete_Data___EF_Code_First_Approach
  8. {
  9. public partial class WebForm1 : System.Web.UI.Page
  10. {
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. }
  14. protected void Button1_Click(object sender, EventArgs e)
  15. {
  16. EmployeeContext empContext = new EmployeeContext();
  17. var empID = int.Parse(TextBox1.Text);
  18. var emp = empContext.Employees.Where(a => a.Id.Equals(empID)).SingleOrDefault();
  19. empContext.Employees.Remove(emp);
  20. empContext.SaveChanges();
  21. }
  22. }
  23. }
The output of the application looks as in the following.

Summary

In this article we saw how to delete data using the Code First approach. Happy coding!