Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add controller error unable to retrieve metadata

Tags:

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

add controller

Model:

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:

<connectionStrings>  <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" providerName="System.Data.SqlServerCe.4.0"/>  </connectionStrings> 

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?

like image 938
Majid Avatar asked Mar 16 '13 05:03

Majid


2 Answers

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

from:here

like image 124
Majid Avatar answered Oct 05 '22 09:10

Majid


My post may help in case someone has the same problem.

I tried experimenting with EF6 and EF5 in the same project, and I noticed that the <entityFramework> tag was messed up, and got the same problem above.

Here is what I did, and it solved the problem:

  1. I removed the <entityFramework> tag from Web.config
  2. Uninstalled entity framework from my MVC app using nuget
  3. Installed entity framework to my MVC app again

After removing the <entityFramework> tag and re-installing EF5 it was fixed, and I can scaffold my controllers again.

like image 38
Haitham Sweilem Avatar answered Oct 05 '22 07:10

Haitham Sweilem