加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在Visual Studio 2012中创建控制器时出错

发布时间:2020-12-15 23:50:55 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试学习ASP.NET MVC,所以我在asp.net网站上跟随音乐商店教程. 我在使用Album.cs作为模型类和MusicStoreEntities.cs作为数据上下文类创建StoreManagerController的部分. 创建控制器时的错误是:无法检索“MvcMusicStore.Models.Album”的元数据.不支持
我正在尝试学习ASP.NET MVC,所以我在asp.net网站上跟随音乐商店教程.

我在使用Album.cs作为模型类和MusicStoreEntities.cs作为数据上下文类创建StoreManagerController的部分.

创建控制器时的错误是:无法检索“MvcMusicStore.Models.Album”的元数据.不支持使用相同的DbCompiledModel来针对不同类型的数据库服务器创建上下文.相反,为正在使用的每种类型的服务器创建一个单独的DbCompiledModel.

听起来像我正在使用两个不同的数据库,但这是我的连接字符串部分从Web.config:

<connectionStrings>
<add name="MusicStoreEntities" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf"/>
</connectionStrings>

奇怪的是,如果我注释了MusicStoreEntities连接字符串,然后尝试创建StoreManagerController它的工作.如果我将解决方案设置中的目标框架更改为.NET Framework 4,打开Visual Studio 2010中的解决方案,然后创建Controller,它也可以.

那么Visual Studio 2012或连接字符串是一个问题吗?可能与CE4.0和VS2012有一些兼容性问题?

解决方法

问题在于使用教程中使用的数据库的CE版本.当切换到其他DB版本,如SQL Server 2012,它对我来说很好.尝试这个:

更改此连接字符串

<add name="MusicStoreEntities" connectionString="Data Source=|DataDirectory|MvcMusicStore.sdf" providerName="System.Data.SqlServerCe.4.0"/>

<add name="MusicStoreEntities" connectionString="Data Source=DBInstanceName;Initial Catalog=MvcMusicStore;Integrated Security=True" providerName="System.Data.SqlClient" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读