Asp.net mvc MVC 4中的脚手架控制器,错误解决方案:“错误:无法检索“Model”的元数据。参数“connectionstring”不能为null

Asp.net mvc MVC 4中的脚手架控制器,错误解决方案:“错误:无法检索“Model”的元数据。参数“connectionstring”不能为null,asp.net-mvc,c#-4.0,visual-studio-2012,asp.net-mvc-scaffolding,Asp.net Mvc,C# 4.0,Visual Studio 2012,Asp.net Mvc Scaffolding,在尝试使用Scaffolding EF和CRUD在MVC 4中创建控制器时,我遇到以下错误: 无法检索MyModel的元数据。参数“connectionString”不能为null、空或仅包含空格 我花了相当长的时间试图弄明白这一点,但从我在网上找到的所有帖子中都没有任何成功。然而,我确实找到了解决问题的方法,尽管我愿意在这里分享 我的解决方案: 注释掉模型的整个当前上下文类(如果有的话)。 如果您试图通过添加连接字符串来解决问题,请删除目标对象的任何其他连接字符串,就像我所做的那样。。。 现在

在尝试使用Scaffolding EF和CRUD在MVC 4中创建控制器时,我遇到以下错误:

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

我花了相当长的时间试图弄明白这一点,但从我在网上找到的所有帖子中都没有任何成功。然而,我确实找到了解决问题的方法,尽管我愿意在这里分享

我的解决方案:

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


这就是我的工作方式。希望它能帮助其他陷入同一问题的人。所有反馈或更好的解决方案都将受到赞赏。

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

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

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

嗨!不幸的是,我从未抽出时间尝试此操作: