MVC3:当我想从控制器访问模型数据时,无法检索我的模型类的元数据

Har*_*ker 15 asp.net-mvc razor asp.net-mvc-3

我是asp.net MVC3平台的新手我正在关注asp.net网站上发布的教程:http: //www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/getting-开始与- MVC3 -第1部分-CS

但是在我需要从控制器访问我的模型类数据的第五步中我遇到了一些麻烦,我已经创建了模型类和上下文类但是当我想使用脚手架模板创建一个控制器类时(带有read /的控制器)使用实体框架编写动作和视图)它给我一个错误如下:

无法检索"我的模型类的全名"的元数据.配置系统无法初始化

小智 18

只需将连接字符串提供程序类型更改为 System.Data.SqlClient

  • 它不起作用我也不确定它应该适用于`.sdf`.添加控制器后添加连接字符串是一种解决方案. (2认同)

Jon*_*n P 12

没有错误.只是按时间顺序必须遵循以反映模型结构并迁移到数据库并且没有错误:

  1. 创建控制器(在Web.config中不包括连接字符串,否则会出现上述错误.)
  2. 使用本教程中编写的内容在Web.config中添加连接字符串.
  3. 最后,运行应用程序.

注意:不要手动创建压缩数据库,因为Visual Studio会在您运行它时自动为您创建并映射它,并在浏览器中导航到该控制器.只需确保您在Web.config中拥有正确的数据库路径.希望这可以帮助!问候.


nai*_*ikh 5

试试这个......

<add name="MovieDBContext" connectionString="data source=.\SQLEXPRESS;&#xD;&#xA;         Integrated Security=SSPI;&#xD;&#xA; AttachDBFilename=|DataDirectory|\MVCtest.sdf;&#xD;&#xA;         User Instance=true" providerName="System.Data.SqlClient" />
Run Code Online (Sandbox Code Playgroud)


And*_*sen 5

我将providerName更改为System.Data.SqlClient,就像在另一个anwer中建议的那样.这允许我在添加控制器步骤中创建控制器.但是当我运行它时,应用程序根本不会显示电影资源.然后我将其更改回System.Data.SqlServerCe.4.0,就像在教程中一样有效.

在阅读了网络上的其他讨论之后,我找到了另一种方法.

如果在创建控制器类之前没有添加连接字符串,那么它也会起作用.这有点像个bug.

  • +1.添加控制器后添加连接字符串是一种解决方案. (2认同)