Majid Rahimi Majid Rahimi - 1 year ago 139
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!


Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download