无法检索“MVCMusicStore.Models.Album”的元数据。'。'

时间:2017-01-26 21:35:06

标签: c# asp.net asp.net-mvc entity-framework asp.net-mvc-4

我已经看过这里的一些答案,并尝试了谷歌。我不确定这个问题是否得到了解答,我只是不理解它,或者我是否采取了不同的方式来制造类似的错误。

我在哪里。我通过编写教程,尝试一些东西然后回去寻找另一个教程来尝试理解系统的复杂性,从而慢慢地学习C#和MVC几个月。所以初学者就是我坚定不移的地方。所以,如果我看起来有点简单,这就是原因。

我目前正在编写有关创建购物车应用程序的ASP.NET CLick Here for MVC Music Store教程。我要创建StoreManagerController,这是第一个使用带视图的EF创建的控制器。本教程是针对VS的旧版本而不是我使用的,但到目前为止,我已经能够完成所有其他工作。

到目前为止,我们已经创建了我们的模型,创建了一些视图和控制器。一切都很好,花花公子。

消除我遇到的任何潜在问题:

- 建立项目 - 清理了项目 - 在Web配置文件中注释掉连接字符串 - 在Web配置文件中注释掉了实体框架

上述所有内容似乎都不适合我...或者我做错了。

无用的错误是:

Error and Controller

很抱歉,这个论坛不允许我使用这两张图片正确附上代码。将发布后续代码。

2 个答案:

答案 0 :(得分:0)

根据@ChrisFCarroll对您的问题的评论,您可能希望将连接字符串更改为:

<add name="MusicStoreEntities" providerName="System.Data.SqlClient"
 connectionString="Data
 Source=(LocalDb)\v11.0;AttachDBFilename=|DataDirectory|MvcMusicStore.sdf"/>

此连接字符串正在将DataSource从(LocalDb)\ MSSQLLocalDB更改为(LocalDb)\ v11.0。根据{{​​3}}博客文章

  

“”(LocalDB)\ MSSQLLocalDB“是用于SQL的连接字符串   Express 2014和“(LocalDB)\ v11.0”用于SQL Express 2012。“

然后您可能想要删除并重新创建数据库。

答案 1 :(得分:0)

webconfig文件没有问题,因为我一直在说,经过大量的讨论。这个问题最终被追溯到了专辑模型。

诊断过程是下载示例应用程序。

使用ApplicationDbContext创建控制器,然后通过从示例代码中注释掉并粘贴来转换为MusicStoreEntities。然后,这会在Album模型上创建一个错误。经过一些更加努力,因为我还没有完全理解代码的交织,但事实证明,该演示在Album模型中缺少一条线。通过重构添加并且一切正常。