In this article, we will create a Web API with an in-memory database using Entity Framework and ASP.NET Core 2.0 without any theoretical explanation. To know more about concepts and theory, my previous articles can be referred to.

Let’s quickly create a new ASP.NET Core application by choosing API template and name it as ConferencePlanner. Add a new Model entity named Workshop inside a newly add Models folder as shown below,

publicclass Workshop

{

publicint Id { get; set; }

publicstring Name { get; set; }

publicstring Speaker { get; set; }

}

Here, we are going to use in-memory class along with EF. So, we have to add a new class for setting up the database context as shown below,

publicclass ApplicationDbContext:DbContext

{

public ApplicationDbContext(DbContextOptions<ApplicationDbContext> context):base(context)

{

}

}

Now, we have to maintain multiple workshops under a conference. So, go ahead and add a DBSet in ApplicationContext class,

Now, we will add an Empty Controller using scaffolding options and name it as WorkshopController. Here, we also have to associate database context with this controller. So, let’s associate the database context as shown below with some dummy data in it.

publicclass WorkshopController : Controller

{

private ApplicationDbContext _context;

public WorkshopController(ApplicationDbContext context)

{

_context = context;

if (!_context.Workshops.Any())

{

_context.Workshops.Add(new Workshop

{ Name = "Event Management", Speaker = "Shweta"});

_context.SaveChanges();

}

}

}

Let's add our first method to get a list of all the workshops by adding the below code,

[HttpGet]

public IEnumerable<Workshop> GetWorkshops()

{

return _context.Workshops;

}

Now before proceeding further, let’s quickly build the application and run it. Verify that it is working fine as expected.