2

尝试在 MVC 4 中使用脚手架(EF 和 CRUD)创建控制器时,出现以下错误:

“无法检索 MyModel 的元数据。参数 'connectionString' 不能为空、空或仅包含空格。”

我花了很长时间试图弄清楚这一点,但我在网上找到的所有帖子都没有成功。然而,我确实找到了解决它的方法,尽管我会在这里分享。

我的解决方案:

  1. 注释掉模型的整个当前 Context 类 - 如果有的话。
  2. 如果您尝试像我一样通过添加连接字符串来解决问题,请删除您所针对的对象的任何其他连接字符串...
  3. 现在使用添加对话框添加控制器:右键单击“控制器”文件夹,导航到“添加->控制器...”,给控制器名称,然后选择要使用的模型类。在 Data Context Class 中,选择“New Data Context..”。最后一部分很重要,因为脚手架现在将为您创建一个功能齐全的连接字符串和上下文类!
  4. 如果您在之前的 Context 类中已经做了很多工作,请使用新的作为模板,然后将旧的复制粘贴到刚刚创建的类中。
  5. 然后删除创建的控制器和视图,并使用步骤 3 中的添加对话框添加另一个控制器,但这次使用之前为您生成的数据上下文类。
  6. 可能有一些关于自动命名约定的错误,但这些应该是相当直接的修复。

作为参考,我在 Visual-Studio 2012 中工作。

这就是它对我有用的方式。希望它会帮助任何其他陷入同一问题的人。感谢所有反馈或更好的解决方案

4

1 回答 1

2

在我的情况下,我只是从我的 Context 类中删除下面的行

Database.SetInitializer(new MigrateDatabaseToLatestVersion<ContextClass, Configuration>());

之后,构建并右键单击 con Controller 文件夹以添加新控制器。完毕

于 2013-09-26T14:37:51.303 回答