我成功地遵循了 contoso 大学教程,让它在 VS 2010 中使用 SQL Express - 在 App_Data 文件夹中创建数据库。本教程遵循 EF Code First 模型。想要查看表中的数据,我在服务器资源管理器中打开了数据库并能够查看表数据。
现在当我再次运行它时,我无法再访问数据库 - 给出的错误是:
一个或多个文件与数据库的主文件不匹配。如果您尝试附加数据库,请使用正确的文件重试该操作。如果这是现有数据库,则文件可能已损坏,应从备份中恢复。
无法打开登录请求的数据库“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 的服务器资源管理器中打开它会导致同样的问题。非常令人沮丧。