Short Walks - Setting up a Foreign Key Relationship in Entity Framework

July 01, 2018

Having had to search for this for the fiftieth time, I thought I’d document it here, so I knew where to look!

To set-up a foreign key relationship in EF, the first step is to define your classes; for example:

ef core fk

In this case, each Resource has a ResourceType in a simple one-to-many relationship. In the lookup table, in this case: ResourceType, define the key:

public class ResourceType
    public int Id { get; set; }
    public string Name { get; set; }

(You’ll need to reference: System.ComponentModel.DataAnnotations) Then, in the main table, in this case Resource, map a field to the Lookup, and then tell it how to store that in the DB:

public class Resource
    public int Id { get; set; }
    public int ResourceTypeId { get; set; }
    public ResourceType ResourceType { get; set; } 
    public string Name { get; set; }

(You’ll need to reference: System.ComponentModel.DataAnnotations.Schema)

That’s it. Once you run Add-Migration, you should have a foreign key relationship set-up.

Profile picture

A blog about one man's journey through code… and some pictures of the Peak District

© Paul Michaels 2023