Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Mvc 4添加带有脚手架的控制器,给出错误-“;无法检索元数据…”;_C#_Sql Server_Asp.net Mvc - Fatal编程技术网

C# Mvc 4添加带有脚手架的控制器,给出错误-“;无法检索元数据…”;

C# Mvc 4添加带有脚手架的控制器,给出错误-“;无法检索元数据…”;,c#,sql-server,asp.net-mvc,C#,Sql Server,Asp.net Mvc,尝试添加具有CRUD操作和EF的控制器时,我遇到以下错误: 无法检索LetLord.Models.Tenant的元数据。不支持使用同一DbCompiledModel针对不同类型的数据库创建上下文。而是为所使用的每种类型的服务器创建一个单独的DbCompiledModel 添加控制器对话框设置: 模板:具有读/写操作和视图的MVC控制器,使用EF 模型类:租户(LetLord.Models) 数据上下文类:LetLordContext(LetLord.Models) 我曾遇到过类似的问题,并尝试过

尝试添加具有CRUD操作和EF的控制器时,我遇到以下错误:

无法检索LetLord.Models.Tenant的元数据。不支持使用同一DbCompiledModel针对不同类型的数据库创建上下文。而是为所使用的每种类型的服务器创建一个单独的DbCompiledModel

添加控制器对话框设置:

模板:具有读/写操作和视图的MVC控制器,使用EF

模型类:租户(LetLord.Models)

数据上下文类:LetLordContext(LetLord.Models)

我曾遇到过类似的问题,并尝试过提供的解决方案,但我无法将其付诸实施

我的连接字符串:

<connectionStrings>
<add name="LetLordContext" connectionString="Data Source=|DataDirectory|LetLord.Models.LetLordContext.sdf" providerName="System.Data.SqlServerCe.4.0" />
  </connectionStrings>
我所尝试的:

  • 按照不同问题中的说明更改我的提供商名称
  • 删除了连接字符串,并将其注释掉
  • 删除并重新安装实体框架
  • 确保已安装SQL Server CE 4.0
  • 恢复到我的subversion项目的早期版本

我仍然不知所措,因此任何帮助都将不胜感激。

已经找到了解决方法,但我仍然不知道是什么导致了这个错误

在根web.config文件中,我更改了

<connectionStrings>
 <add name="LetLordContext" connectionString="Data Source=|DataDirectory|LetLord.Models.LetLordContext.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>



这让我可以添加带有脚手架的视图,添加后,我将字符串更改回原来的状态。据我所知,任何新的字符串都可以

已经找到了解决方法,但我仍然不知道是什么导致了这个错误

在根web.config文件中,我更改了

<connectionStrings>
 <add name="LetLordContext" connectionString="Data Source=|DataDirectory|LetLord.Models.LetLordContext.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>



这让我可以添加带有脚手架的视图,添加后,我将字符串更改回原来的状态。据我所知,任何新的字符串都可以

这个解决方案有点笨手笨脚,但在尝试了几个解决方案后,我不得不重新开始。我决定创建一个具有不同名称的新模型,并将类内部复制到新模型中。然后,我在“添加控制器”窗口中选择了新模型,并完成了脚手架搭建

然后我删除了旧模型


不知道什么坏了,但新的模型运行良好

这个解决方案有点笨手笨脚,但在尝试了几个解决方案后,我不得不重新开始。我决定创建一个具有不同名称的新模型,并将类内部复制到新模型中。然后,我在“添加控制器”窗口中选择了新模型,并完成了脚手架搭建

然后我删除了旧模型


不知道什么坏了,但新的模型运行良好

另外,您必须在更改连接字符串名称后重建。我猜这是某种错误,让我留了几个小时的存根。此外,您必须在更改连接字符串名称后重建。我猜这是某种错误,让我留了几个小时的存根。
<connectionStrings>
 <add name="DefaultConnection" connectionString="Data Source=|DataDirectory|LetLord.Models.LetLordContext.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>