This feature provides a single entry point for creating an EF model that shows developers all the options that are available and helps them find the option that is right for them.
The Problem
There are a number of different entry points for creating a new EF model and no easy way for a developer to see all the options that are available and make an informed decision about which to use.
- For EF Designer based models that target a new or existing database you use
Add -> New Item… -> ADO.NET Entity Data Model.
- For Code First models that target an existing database you install the EF Power Tools and use the Reverse Engineer Code First tool. You can also just start hand writing code to map to an existing database (this is one of the benefits of Code First and will
continue to be a valid and supported option).

- For Code First that target a new database you just start writing code (this is one of the benefits of Code First and will continue to be a valid and supported option).
The Solution
Update the Add -> New Item -> ADO.NET Entity Data Model wizard to support creating Code First models. The first screen will allow developers to select a Code First model or an EF Designer model. They can also choose between a new and
existing database.

- Selecting Code First and Generate from Database will use the existing wizard screens for EF Designer based models but will then use the functionality from the EF Power Tools to produce a Code First model.
- Selecting Code First and Empty Model will add a template derived DbContext to the user’s project.
- The existing functionality for EF Designer based models will remain in place