1


0

どのように私はconfigで現在のSqlConnectionまたはSqlconnectionへの参照を得ることができますか?

私はhttp://svn.castleproject.org:8080/svn/castle/trunk/ActiveRecord/Castle.ActiveRecord.Tests/DifferentDatabaseScopeTestCase.csを見つけました

とコード

プライベート文字列GetSqlConnection(){IConfigurationSource config = GetConfigSource();

IConfiguration db2 = config.GetConfiguration(typeof(ActiveRecordBase));

string conn = string.Empty;

foreach(db2.Children内のIConfigurationの子){if(child.Name == "connection.connection_string"){conn = child.Value; }}

connを返します。 }

しかし、私は "GetConfigSource"の実装を見つけることができる場所を理解することができませんか? この標準的な城のヘルパー機能はありますか?

私はこれらの名前空間を使います

Castle.ActiveRecordを使用する。 NHibernate.Criterionを使用します。 NHibernateを使用する。 Castle.Core.Configurationを使用します。 Castle.ActiveRecord.Frameworkを使用します。

4 回答


3


var sfimpl = ActiveRecordMediator.GetSessionFactoryHolder().GetSessionFactory(typeof(object)); IDbConnection conn =((ISessionFactoryImplementor)sfimpl).ConnectionProvider.GetConnection();


1


私は自分のプロジェクトでこのように使っています:

public static MySqlConnection GetConnection(){if(_session == null){_session = ActiveRecordMediator.GetSessionFactoryHolder()。CreateSession(typeof(ActiveRecordBase)); var connection =(MySqlConnection)_session.Connection; if(connection.State == ConnectionState.Closed)connection.Open(); // var connection = new MySqlConnection(Connstr); //connection.Open();接続を返します。 }

public static void CloseActiveIsession(){if(_session!= null){ActiveRecordMediator.GetSessionFactoryHolder()。ReleaseSession(_session);} }}


0


文字列を取得するために見つけたメソッドは次のとおりです。

public static string GetConnectionString(){using(var session = ActiveRecordMediator .GetSessionFactoryHolder().GetSessionFactory(typeof(ActiveRecordBase)).OpenSession()){return session.Connection.ConnectionString; }}

これは、接続文字列を取得するためにセッションを開くには非効率的です。 それを見つけるための他の場所はありますか?


-1


私はそれを解決するためにSVNからARソースをダウンロードする必要がありました。

その意味は

IConfigurationSourceとしてのSystem.Configuration.ConfigurationManager.GetSection( "activerecord")。