Entity Framework - Generating Classes

c#, entity-framework

Solution

1) First you need to generate `EDMX` model using your database. To do that you should add new item to your project:

- Select `ADO.NET Entity Data Model` from the Templates list.

- On the Choose Model Contents page, select the Generate from Database option and click Next.

- Choose your database.

- On the Choose Your Database Objects page, check the Tables. Choose Views or Stored Procedures if you need.

So now you have `Model1.edmx` file in your project.

2) To generate classes using your model:

- Open your `EDMX` model designer.

- On the design surface Right Click –> Add Code Generation Item…

- Select Online templates.

- Select `EF 4.x DbContext Generator for C#`.

- Click ‘Add’.

Notice that two items are added to your project:

- `Model1.tt` (This template generates very simple POCO classes for each entity in your model)

- `Model1.Context.tt` (This template generates a derived DbContext to use for querying and persisting data)

3) Read/Write Data example:

 var dbContext = new YourModelClass(); //class derived from DbContext
 var contacts = from c in dbContext.Contacts select c; //read data
 contacts.FirstOrDefault().FirstName = "Alex"; //edit data
 dbContext.SaveChanges(); //save data to DB

Don't forget that you need 4.x version of EntityFramework. You can download EF 4.1 here: Entity Framework 4.1.

Problem

I have an existing database. I was hoping there was a way to generate class files from this database. However, I seem to see a lot of generating the database from the class files. Is there a way to generate class files from an existing database using the Entity Framework? If so how? Can someone point me to a tutorial?

Original source

Related problems