我成功地遵循了contoso大学教程,在VS 2010中使用SQL Express - 在App_Data文件夹中创建数据库。本教程遵循EF Code First模型。想要查看表中的数据,我在Server Explorer中打开了数据库,并能够查看表数据。
现在,当我再次运行它时,我无法再访问数据库 - 给出的错误是:
一个或多个文件与数据库的主文件不匹配。如果您尝试附加数据库,请使用正确的文件重试该操作。如果这是现有数据库,则该文件可能已损坏,应从备份中恢复 无法打开登录请求的数据库“SchoolDB”。登录失败。
用户'DEV \ bwilliams'登录失败 日志文件'C:\ ContosoUniversity \ ContosoUniversity \ ContosoUniversity \ App_Data \ SchoolDB.ldf'与主文件不匹配。它可能来自不同的数据库,或者以前可能已经重建过日志。
DEV \ bwilliams将是Windows身份验证。
这是我的连接字符串:
<add name="SchoolContext"
connectionString="data source=.\SQLEXPRESS;Initial Catalog=SchoolDB;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|SchoolDB.mdf;User Instance=true"
providerName="System.Data.SqlClient" />
我尝试在服务器资源管理器中再次打开数据库,它告诉我登录失败。所以我想我可以删除数据库并让EF重新创建它 - 但在这样做之后,我仍然收到相同的错误。重点是创建一个项目并部署到一个实际的服务器,但我似乎无法解决这些连接问题。
更新:更改连接字符串中数据库的名称会创建新数据库,一切都很好。但是,在VS 2010中的服务器资源管理器中打开它会导致同样的问题。非常令人沮丧。