数据访问应用程序块5.0流畅配置

本文关键字:配置 程序块 访问 应用 应用程序 数据 | 更新日期: 2023-09-27 17:54:05

我使用以下代码来设置连接字符串:

ConfigurationSourceBuilder builder = new ConfigurationSourceBuilder ();
            builder.ConfigureData ()
                   .ForDatabaseNamed ( "TestDatabase" )
                     .ThatIs.ASqlDatabase ()
                     .WithConnectionString ( "Data Source=127.0.0.1;User Id=sa;Password=123;Initial Catalog=DataAccessExamples;" )
                     .AsDefault ();
            var configSource = new DictionaryConfigurationSource ();
            builder.UpdateConfigurationWithReplace ( configSource );
            EnterpriseLibraryContainer.Current
              = EnterpriseLibraryContainer.CreateDefaultContainer ( configSource );

执行上面的代码后,我希望下面的代码工作,但它说连接未初始化和命令。连接属性总是保持null

Database database = DatabaseFactory.CreateDatabase ();
            DbCommand command = database.GetSqlStringCommand ( "Select * from TT" );
            DbDataReader dbReader = command.ExecuteReader ( System.Data.CommandBehavior.CloseConnection );
            while (dbReader.Read ())
            {
                System.Diagnostics.Debug.WriteLine ( dbReader[0].ToString () );
            }

请告诉我为什么连接没有被初始化?

我在一个库项目中使用上述代码,并希望在运行时配置DAAB。

谢谢

数据访问应用程序块5.0流畅配置

首先,为什么要硬编码连接字符串?在您的应用程序的配置文件中有连接字符串不是更有意义吗?

为什么需要使用Database工厂?

        SqlDatabase db = new SqlDatabase("some connection string from the config");
        DbCommand cmd = db.GetSqlStringCommand(sqlStatement);
        IDataReader reader = db.ExecuteReader(cmd);