Majid Rahimi Majid Rahimi - 1 year ago 87
C# Question

Add controller error unable to retrieve metadata

I want to add controller in my MVC 4 application in VS2012 as this image:

add controller


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace MvcDemo.Models
public class MovieDB
public int ID { get; set; }
public string Title { get; set; }
public string Director { get; set; }
public DateTime Date { get; set; }
public class MovieDBContext : DbContext
public DbSet<MovieDB> Movies { get; set; }

Connection strings:


<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcDemo-20130315191956;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MvcDemo-20130315191956.mdf"
providerName="System.Data.SqlClient" />

<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|\Movies.sdf"


After clicking "add", this error occurs:

unable to retrieve metadata for 'MvcDDemo.Models.MovieDB'.Using the
same DbCompiledModel to create contexts against different type of
database servers is not supported.instead,create a
separate DbCompiledModel for each type of server being used.

Any suggestion?

Answer Source

In Web.config, set second providerName same as first providerName and after creating controller, undo that!