【发布时间】:2018-01-20 11:09:58
【问题描述】:
我正在尝试从 Entity Framework Core 2 连接到远程 SQL Server。
我的连接字符串是:
"ConnectionStrings": {
"DbString": "Server=example.com; Port=1433; Database=EFDB; User Id=SA; Password=FakePassword"
}
当我调用this._context.Database.EnsureCreated(); 时,我收到以下错误:
失败:Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[0]
执行请求时发生未处理的异常
System.TypeLoadException:无法从程序集“Microsoft.EntityFrameworkCore.Relational,Version=2.0.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60”加载类型“Microsoft.EntityFrameworkCore.Infrastructure.RelationalEventId”。在 Microsoft.EntityFrameworkCore.SqlServerDbContextOptionsExtensions.ConfigureWarnings(DbContextOptionsBuilder optionsBuilder)
在 Microsoft.EntityFrameworkCore.SqlServerDbContextOptionsExtensions.UseSqlServer(DbContextOptionsBuilder optionsBuilder, String connectionString, Action1 sqlServerOptionsAction)2 optionsAction)
at RestApiWithSwagger.Startup.<ConfigureServices>b__4_0(DbContextOptionsBuilder options) in /Users/mrdisaster/dev/RestApiWithSwagger/RestApiWithSwagger/Startup.cs:line 25
at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.DbContextOptionsFactory[TContext](IServiceProvider applicationServiceProvider, Action
在 Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite,ServiceProvider 提供者)
在 Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(IServiceCallSite callSite, TArgument argument)2.VisitCallSite(IServiceCallSite callSite, TArgument 参数)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitSingleton(SingletonCallSite singletonCallSite, ServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
在 Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite 构造函数CallSite,ServiceProvider 提供者)
在 Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor2.VisitCallSite(IServiceCallSite callSite, TArgument argument)2.VisitCallSite(IServiceCallSite callSite, TArgument 参数)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor
在 Microsoft.Extensions.DependencyInjection.ServiceProvider.c__DisplayClass22_0.b__0(ServiceProvider 提供程序)
在 Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(类型 serviceType)
在 Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp,类型类型,类型 requiredBy,布尔 isDefaultParameterRequired)
在 lambda_method(Closure , IServiceProvider , Object[] )
在 Microsoft.AspNetCore.Mvc.Controllers.ControllerActivatorProvider.c__DisplayClass4_0.b__0(ControllerContext controllerContext)
在 Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.c__DisplayClass5_0.g__CreateController0(ControllerContext controllerContext)
在 Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(状态和下一个,范围和范围,对象和状态,布尔值和已完成)
在 Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__14.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__22.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext 上下文)
在 Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(状态和下一个,范围和范围,对象和状态,布尔值和已完成)
在 Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__17.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__15.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.AspNetCore.Builder.RouterMiddleware.d__4.MoveNext()
--- 从之前抛出异常的位置结束堆栈跟踪 ---在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.d__7.MoveNext()
可能是什么问题?有什么想法吗?
附: Management Studio、DataGrip 等数据库工具已成功连接到此服务器
【问题讨论】:
标签: c# sql-server entity-framework asp.net-core