1

我是 ASP.NET MVC 4 的新手。我正在关注这个关于 ASP.NET MVC 的精彩教程

我被困在某一时刻。

我正在尝试添加一个名为的新控制器MoviesController.cs,但 Visual Studio 2010 正在产生错误:

Unable to retrieve metadata for 'MvcMovie.Models.Movie'. Invalid value for key 'attachdbfilename'.

我认为attachdbfilename,它指的是 Web.Config 文件中的这一行:

<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
 providerName="System.Data.SqlClient" />

我也在 StackOverFlow 中搜索过这个,一个解决方案是安装 Microsoft SQL Server Compact 4.0,我安装了它但没有任何改变。

可能相关:

我还在我的 64 位 Windows 7 上安装了 WAMPServer,但在我做任何事情之前我已经停止了所有服务并关闭了应用程序。

那么我该如何解决这个问题呢?

谢谢 !

编辑

现在我开始认为 |DataDirectory| 应该用路径改变。是真的吗?如果是,那是哪条路?

这个 Movies.mdf 文件是什么?是某种 .sql 文件吗?我应该已经在某个位置创建它了吗?

4

2 回答 2

3

如果您使用的是 SQL Express,则需要修改连接字符串。我修改并使用了下面的连接字符串,它对我有用。

<add name="MovieDBContext" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=Movies;AttachDBFilename=|DataDirectory|\Movies.mdf;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
于 2013-09-16T07:42:08.047 回答
0

我在这个主题中找到了答案:http ://forums.asp.net/post/5120530.aspx

当我将行更改为此时,它起作用了:

<connectionStrings>

<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;Initial Catalog=Movies;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient" />

  </connectionStrings>

我还安装了 Sql Server Data Tools,但不确定它是否相关。

于 2013-07-16T21:59:17.700 回答