【发布时间】:2021-05-12 15:47:27
【问题描述】:
我在使用 BLAZOR SERVER + Entity Framework 6.4 应用程序时遇到问题
实体框架部分在一个单独的 dll 项目(框架 4.6.2)中,由其他项目共享。 DB microsoft SqlServer (Express 2016)
blazor 部分是一个 asp.net core 5.0 项目和 razor 服务器页面
一切都在开发工作站上运行
安装在 windows 2019 / IIS 10 上,环境配置为开发、暂存和生产(带有相关的 app.json 配置文件),数据库访问部分不起作用
在上下文的初始化阶段,一切都被阻止,表示为派生自 EF6 DbCOntext 的类,我在其中显式传递了整个连接字符串
尤其是这里的一切都冻结了
片段
public MainDbContext(string connectionString) : base(connectionString)
{
Log.Info($"init MainDbContext {connectionString}");
try
{
Database.CreateIfNotExists();
Log.Error("CreateIfNotExists - DONE");
Database.Initialize(false);
}
catch (Exception exc)
{
Log.Error($"Eccezione in fase init MainDbContext{Environment.NewLine}{exc}");
}
Log.Error("init MainDbContext - DONE");
}
当它尝试执行两个调用之一时 Database.CreateIfNotExists () 或 DatabaseInitialize () (我试图一次评论 1)它停止并尝试使用用户 / pwd 指示访问数据库(SQL 身份验证)但使用来自域 \ machinename 的通用用户:
conf 字符串(更改的名称/实际密码) "数据源 = SERVER_NAME;初始目录 = SHERPA.BBM;用户 ID = sa;密码 = SA_PASSWORD;集成安全性 = True;MultipleActiveResultSets = True;App = EntityFramework"
这是注册/记录错误的示例
2021-05-12 16:17:09.5875 | INFO | SHERPA.BBM.Controllers.BBMController | Richiesta avvio classe BBMController, connString: Data Source=SERVER_NAME;Initial Catalog= SHERPA.BBM ;User ID=sa;Password=SA_PASSWORD;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework;
2021-05-12 16:17:10.2111 | INFO | SHERPA.BBM.MainDbContext | init MainDbContext Data Source=SQL2012DEV;Initial Catalog=SHERPA.BBM;User ID=sa;Password=keyhammer16;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework;
2021-05-12 16:17:12.8557 | ERROR | SHERPA.BBM.MainDbContext | Eccezione in fase init MainDbContext
System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'steamw\W2019-IIS-DEV$'.
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.<>c.<Open>b__13_0(DbConnection t, DbConnectionInterceptionContext c)
at System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext)
at System.Data.Entity.SqlServer.SqlProviderServices.<>c__DisplayClass60_0.<UsingConnection>b__0()
at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass2_0.<Execute>b__0()
at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
at System.Data.Entity.Core.Common.DbProviderServices.CreateDatabase(DbConnection connection, Nullable`1 commandTimeout, StoreItemCollection storeItemCollection)
at System.Data.Entity.Core.Objects.ObjectContext.CreateDatabase()
at System.Data.Entity.Migrations.Utilities.DatabaseCreator.Create(DbConnection connection)
at System.Data.Entity.Migrations.DbMigrator.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
at System.Data.Entity.Migrations.Infrastructure.MigratorBase.EnsureDatabaseExists(Action mustSucceedToKeepDatabase)
at System.Data.Entity.Migrations.DbMigrator.Update(String targetMigration)
at System.Data.Entity.Migrations.Infrastructure.MigratorBase.Update()
at System.Data.Entity.Internal.DatabaseCreator.CreateDatabase(InternalContext internalContext, Func`3 createMigrator, ObjectContext objectContext)
at System.Data.Entity.Internal.InternalContext.CreateDatabase(ObjectContext objectContext, DatabaseExistenceState existenceState)
at System.Data.Entity.Database.Create(DatabaseExistenceState existenceState)
at System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext context)
at System.Data.Entity.Internal.InternalContext.<>c__DisplayClass66_0`1.<CreateInitializationAction>b__0()
at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)
at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()
at System.Data.Entity.Internal.LazyInternalContext.<>c.<InitializeDatabase>b__58_0(InternalContext c)
at System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input)
at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action)
at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase()
at System.Data.Entity.Internal.InternalContext.Initialize()
at System.Data.Entity.Database.Initialize(Boolean force)
at SHERPA.BBM.MainDbContext..ctor(String connectionString) in C:\Users\samuele\source\repos\SHERPA\SHERPA.BBM\MainDbContext.cs:line 54
ClientConnectionId:df9bbde7-c148-4153-b99d-d2faab4b7fb9
Error Number:18456,State:1,Class:14
2021-05-12 16:17:12.9256 | ERROR | SHERPA.BBM.MainDbContext | init MainDbContext - DONE
任何帮助将不胜感激!
【问题讨论】:
标签: .net entity-framework .net-core