
How to add a Primary and Foreign Key Relationship with Code First in Entity Framework
Originally posted 9 Years Ago
This article will demonstrate how to implement primary key and foreign key relationship in Code First approach in Entity Framework.
To complete this task, I am going to create Employee and Department Model Class and let’s see how to make relationship. Following are the two model class.Â
public class Department
{
[Key]
public int DepartmentId { get; set; }
[Required]
public string DepartmentName { get; set; }
}
public class Employee
{
[Key]
public int EmployeeId { get; set; }
[Required]
public string EmployeeName { get; set; }
}
Department Model has primary key as DepartmentId and Employee Model has primary key as EmployeeId. I am going to create a foreign key of DepartmentId in Employee Model.
public class Department
{
[Key]
public int DepartmentId { get; set; }
[Required]
public string DepartmentName { get; set; }
}
public class Employee
{
[Key]
public int EmployeeId { get; set; }
[Required]
public string EmployeeName { get; set; }
// Foreign key
[Display(Name = "Department")]
public virtual int DepartmentId { get; set; }
[ForeignKey("DepartmentId")]
public virtual Department Departments { get; set; }
}
To create Foreign Key, you need to use ForeignKey attribute with specifying the name of the property as parameter.Â
[ForeignKey("DepartmentId")]
public virtual Department Departments { get; set; }
You also need to specify the name of the table which is going to participate in relationship. I mean to say, define the foreign key table.
[Display(Name = "Department")]
public virtual int DepartmentId { get; set; }
Thanks for reading this article, hope you enjoyed it.