我正在使用Windows 10,我最近重置了我的电脑。之后,我重新安装了Visual Studio。当我打开以前的ASP.NET MVC项目时,我在“SQL Server对象资源管理器”下找不到我的项目数据库。
当我运行我的应用程序时,我得到以下异常:
SqlException:无法打开登录请求的数据库“Vega”。登录失败。用户'DESKTOP-8JL51345 \ jan'登录失败。 System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,uint waitForMultipleObjectsTimeout,bool allowCreate,bool onlyOneCheckConnection,DbConnectionOptions userOptions,out DbConnectionInternal connection)System.Data.ProviderBase.DbConnectionPool.WaitForPendingOpen()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw( System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)Microsoft.EntityFrameworkCore.Storage.RelationalConnection + d__34.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task System.Runtime.CompilerServices.TaskAwaiter.GetResult()Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable + AsyncEnumerator + d__10.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification( Ť ask task)Microsoft.EntityFrameworkCore.Storage.Internal.SqlServerExecutionStrategy + d _7.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.TaskAwaiter。 GetResult()Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable + AsyncEnumerator + d__9.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices。 TaskAwaiter.GetResult()Microsoft.EntityFrameworkCore.Query.EntityQueryModelVisitor + AsyncSelectEnumerable + AsyncSelectEnumerator + d__3.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime。 CompilerServices.ConfiguredTaskAwaitable + ConfiguredTaskAwaiter.GetResult()Sys tem.Linq.AsyncEnumerable + SelectEnumerableAsyncIterator + d__7.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.ConfiguredTaskAwaitable + ConfiguredTaskAwaiter.GetResult() System.Linq.AsyncEnumerable + AsyncIterator + d__10.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.TaskAwaiter.GetResult()Microsoft。 EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider + ExceptionInterceptor + EnumeratorExceptionInterceptor + d__5.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.ConfiguredTaskAwaitable + ConfiguredTaskAwaiter .GetResult()System.Linq.AsyncEnum erable + d__6.MoveNext()System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)System.Runtime.CompilerServices.TaskAwaiter.GetResult()vega.Controllers.MakesController + d__3。 MakesController.cs中的MoveNext()
这是appsettings.json下的连接字符串:
{
"ConnectionStrings":{
"Default": "Server=(Localdb)\\MSSQLLocalDB;Database=Vega; Integrated
Security=SSPI"
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
}
}
我正在使用Entity Framework Code First Migration。似乎重置我的电脑会消灭我的数据库。我该如何把它带回来?
这是迁移文件夹:
“将其恢复”的唯一方法是重置计算机时的外部备份机制。
假设不存在此类备份,则表示数据已消失。您可以做的最好的事情是首先按照您创建数据库所采取的步骤,重新开始使用空数据库。
它曾经使用过这个连接字符串吗?如果使用CodeFirst,则连接字符串也应具有以下参数:providerName =“System.Data.SqlClient”。
具有匹配的DBContext-Class的示例连接字符串
<connectionStrings>
<add name="DefaultConnection"
connectionString="data source=(localdb)\MSSQLLocalDB;
initial catalog=PlutoCodeFirst;
integrated security=SSPI"
providerName="System.Data.SqlClient"/>
public class PlutoContext : DbContext
{
public PlutoContext()
: base("name=DefaultConnection")
{
}
}