【问题标题】:Problem with blazor server + entity framework 6.4 applicationBlazor 服务器 + 实体框架 6.4 应用程序的问题
【发布时间】: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


    【解决方案1】:

    幸好我解决了!

    确保在连接中将 Integrated Security 设置为 False 字符串。

    【讨论】:

      猜你喜欢
      • 2012-03-28
      • 2014-03-30
      • 2023-03-26
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 2020-03-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多