C# 无法附加文件‘;{0}';作为数据库';{1} ';。先编码。本地SQL EXPRESS实例。VS2010SP1。视窗XP

C# 无法附加文件‘;{0}';作为数据库';{1} ';。先编码。本地SQL EXPRESS实例。VS2010SP1。视窗XP,c#,asp.net,asp.net-mvc-4,ef-code-first,entity-framework-migrations,C#,Asp.net,Asp.net Mvc 4,Ef Code First,Entity Framework Migrations,我一直在使用代码优先的方法。我在VisualStudio2010SP1中使用MVC4模板创建了一个SQLExpress本地数据库“database.mdf”。当我尝试在我的电脑上运行我的项目时,我得到一个错误: 数据库主机中的创建数据库权限被拒绝。无法连接 文件“…Database.mdf”作为数据库文件“Database” 我所尝试的: 使用SQL SERVER对象资源管理器删除我的数据库(无结果,相同错误) 更改连接字符串(无结果,相同错误) 谷歌在互联网上搜索。然而,我遇到过一些例子,人

我一直在使用代码优先的方法。我在VisualStudio2010SP1中使用MVC4模板创建了一个SQLExpress本地数据库“database.mdf”。当我尝试在我的电脑上运行我的项目时,我得到一个错误:

数据库主机中的创建数据库权限被拒绝。无法连接 文件“…Database.mdf”作为数据库文件“Database”

我所尝试的:

  • 使用SQL SERVER对象资源管理器删除我的数据库(无结果,相同错误)

  • 更改连接字符串(无结果,相同错误)

  • 谷歌在互联网上搜索。然而,我遇到过一些例子,人们使用真正的SQL服务器,而不是本地数据库

我的连接字符串是:

connectionString="Data Source=.\SQLEXPRESS; InitialCatalog=Database; AttachDBFilename=|DataDirectory|\Database.mdf; IntegratedSecurity=true;"  
请注意,我使用的是本地数据库,而不是真正的SQL SERVER,我的Visual Studio是2010

我尝试运行以下代码:

WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);

如何解决?任何帮助都将不胜感激

这不是LocalDb连接字符串。LocalDb连接字符串如下所示:

connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True" 
  • 在SQL Express中创建新的空数据库(图形)
  • 将连接字符串“InitialCatalog”更改为类似以下内容:InitialCatalog=Database1
  • 运行项目并使用一个查询

  • 您是否尝试以管理员身份运行VS?尝试此解决方案-可能是您的情况-向我们展示更多代码。在连接字符串之后,您将触发什么查询?@Dr..Net,我已经添加了代码。您没有使用localdb。该连接字符串指向本地SqlExpress实例,而不是本地DB实例。SqlExpress和LocalDb是两个不同的东西。@steppup-您还需要初始Catalog语句,我没有包括它。无论如何,除非您使用(localdb)\v11.0数据源,否则您不会使用localdb,否则您只是将sql express用作标准sql server。如果我编写connectionString=“Data Source=(localdb)\v11.0;AttachDbFilename=| DataDirectory | \ Database.mdf;Integrated Security=True”,我会收到一个错误“无效的键值:AttachDbFilename”。但是,“.\sqlexpress”工作得很好。@steppup-正如我所说的,您这样做时没有使用localdb。如果这很好,并且您不关心是否需要在将要使用SQL Server Express的位置安装它,那么请确定。localdb的全部意义在于,您不需要Sql Express的实例。我还没有安装Sql Server Express。SQL Server express是VS 2010的内部部分。如果我编写您的connstring:connectionString=“Data Source=(LocalDB)\v11.0;…”,那么我会捕获一个异常。如果我写“connstring=/.sqlexpress”,它可以正常工作。但是,WebSecurity无法在应用程序的内部数据库中创建表。它引发异常-无法附加文件“{0}”,因为数据库“{1}”Localdb不随VS 2010提供。看到v11了吗?表示SQL Server v11,即SQL Server 2012。事实上,VS2010不支持开箱即用的LocalDb,不过这里有一个演练。