Entity Framework 5 - How to generate POCO classes from existing database

user31673 picture user31673 · Nov 11, 2012 · Viewed 36.8k times · Source

I am using VS 2012 and EF 5. I have an existing database that I want to create POCO classes from the existing database. I followed the steps to add an ADO.NET Entity Data Model to my project. I went through the wizard to use an existing database. It then created the edmx and tt files with the designer open. However, I want to create the POCO objects and use them. The Microsoft site states that the POCO Entity Framework Generator is obsolete and I should use the DBContext Generator. I can't figure out steps I use to generate the POCO classes. I only see the edmx designer. I really don't even want an edmx file but instead just POCO classes. How can I get POCO classes to be created from an existing database using EF 5 and VS 2012?

Answer

Sergey Berezovskiy picture Sergey Berezovskiy · Nov 11, 2012

Use EF 5.x DbContext Fluent Generator

You can add it from online templates:

  • Generate edmx from existing database
  • Select Add New Item
  • Search online templates for POCO
  • Add EF 5.x DbContext Fluent Generator

It will add three T4 templates to your project:

  • XXX.Context.tt - context inherited from DbContext
  • XXX.Entities.tt - POCO entities
  • XXX.Mappings.tt - fluent mappings for each entity

BUT you need to setup path to your edmx data model manually. Each of these templates have line string inputFile = @"$edmxInputFile$";. You need to provide name of your edmx file here:

string inputFile = @"Northwind.edmx";