Cannot create controller with Entity framework - Unable to retrieve metadata

c#, entity-framework, visual-studio-2013

Solution

public class EFDbContext : DbContext
{
    public DbSet<Product> Products { get; set; }
}

Forgot the { get; set; }... all works now #crying

Problem

I'm using VS2013 When I try to create an "MVC 5 Controller with views using entity Framework" I get the following error: ``` there was an error running the selected code generator ''Unable to retrieve metadata for WebApplication.Domain.Entities.Product'.' ``` EFDbContext.cs ``` using System.Data.Entity; using WebApplication.Domain.Entities; namespace WebApplication.Domain.Concrete { public class EFDbContext : DbContext { public DbSet<Product> Products; } } ``` Product.cs ``` using System.ComponentModel.DataAnnotations; namespace WebApplication.Domain.Entities { public class Product { [Key] public int ProductID { get; set; } [Required] public string Title { get; set; } } } ``` Web.config ``` <?xml version="1.0" encoding="utf-8"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=301880 --> <configuration> <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <connectionStrings> <add name="EFDbContext" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=WebApplication;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings> <appSettings> <add key="webpages:Version" value="3.0.0.0" /> <add key="webpages:Enabled" value="false" /> <add key="ClientValidationEnabled" value="true" /> <add key="UnobtrusiveJavaScriptEnabled" value="true" /> </appSettings> <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> </system.web> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> </providers> </entityFramework> </configuration> ``` I have a Table set up called Products and it has a definition like so: ``` CREATE TABLE [dbo].[Products] ( [ProductID] INT IDENTITY (1, 1) NOT NULL, [Title] NVARCHAR (255) NULL, PRIMARY KEY CLUSTERED ([ProductID] ASC) ); ``` Any ideas what is going wrong? I have tried everything that has returned on Google. Packages I have installed: ``` <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="6.0.1" targetFramework="net45" /> <package id="jQuery" version="1.10.2" targetFramework="net45" /> <package id="jQuery.Validation" version="1.11.1" targetFramework="net45" /> <package id="Microsoft.AspNet.Mvc" version="5.0.0" targetFramework="net45" /> <package id="Microsoft.AspNet.Razor" version="3.0.0" targetFramework="net45" /> <package id="Microsoft.AspNet.WebPages" version="3.0.0" targetFramework="net45" /> <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.0.0" targetFramework="net45" /> <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" /> <package id="Unity" version="3.0.1304.1" targetFramework="net45" /> <package id="Unity.Mvc" version="3.0.1304.0" targetFramework="net45" /> <package id="WebActivatorEx" version="2.0.4" targetFramework="net45" /> </packages> ``` My project can be found here: https://github.com/jimmyt1988/WebApplication2

Original source