不支持使用相同的DbCompiledModel为不同类型的数据库服务器创建上下文

Nom*_*han 21 asp.net-mvc-3

我正在从Microsoft的教程中学习ASP.NET MVC:

http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/accessing-your-model "S- https://stackoverflow.com/editing-helpdata-from-a-调节器

在上面提到的链接中,在添加名为"MoviesController"的控制器时,我收到此错误

"无法检索'MvcMovie.Models.Movie'的元数据.不支持使用相同的DbCompiledModel来创建针对不同类型的数据库服务器的上下文.而是为每种正在使用的服务器类型创建单独的DbCompiledModel"

我该如何解决这个问题?

hyp*_*ric 25

我遇到过同样的问题.

我切换providerName="System.Data.SqlServerCe.4.0"providerName="System.Data.SqlClient",它创建了控制器和视图.

我发现了这个:http://msdn.microsoft.com/en-US/library/ms171861.aspx

我按照指示添加了对SQL Server Compact的引用,但它仍然无效.

我也尝试注释掉默认的SQL Server Express连接,但在尝试添加控制器时仍然会出现相同的错误.

我只想使用SQL Server Express.如果我有任何问题,我会通知你.

  • 好的,所以切换到`providerName ="System.Data.SqlClient"`将获得控制器和构建的视图,但该站点将不会运行.如果在使用开关构建控制器后,然后将其切换回`providerName ="System.Data.SqlServerCe.4.0"`,它将运行.它不漂亮,但它应该让你完成教程. (9认同)

Ha *_* L. 6

我发现使用以下工作:(假设您已安装SQL Server Express或更高版本)

 <add name="MovieDBContext" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;AttachDBFilename=|DataDirectory|MovieDB.sdf"/>
Run Code Online (Sandbox Code Playgroud)


dar*_*dog 0

我只是尝试了一下,发现了问题。

在本教程中,您将在 web.config 中添加以下行

<add name="MovieDBContext" connectionString="Data Source=|DataDirectory|Movies.sdf" providerName="System.Data.SqlServerCe.4.0"/> 
Run Code Online (Sandbox Code Playgroud)

看来它有问题..我只是将其注释掉并使用了 SqlServer,它对我有用。如果您仍然想使用 SqlServerCe,您需要了解如何解决该问题。