0
私はhibernate.cfg.xml congifファイルをPersistenceManagerプロジェクトに配置しています。このxmlファイルの物理パスをプログラムで設定するにはどうすればよいですか?
そして、私はNHibernateは(cfg.Configureとライン)を設定するには、このゲッターで、この構成ファイルへの物理パスを設定するプログラムで必要があります。
public class SessionService
{
private static ISessionFactory _sessionFactory = null;
public static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
{
Configuration cfg = new Configuration();
string fullPath = (new SessionService()).GetType().Assembly.Location;
cfg.Configure(@"the working path to hibernate.cfg.xml");
//I will Add Mapping directives here
_sessionFactory = cfg.BuildSessionFactory();
}
return _sessionFactory;
}
}
}
にはどうすれば安全に行うことができます文字列 "hibernate.cfg.xml"を入力して、C#に物理パスの残りの部分を生成させるだけです。
。これはそうではない可能性があります(たとえばサービスとして実行しているときや自動起動しているときなど)。そのため、実行ファイルのパスを追加しても問題はありません。 – Mario
@Mario:しかし、私はそれをプログラムで行うことができますか? – pencilCake
アプリケーションのパスを取得するには、単に 'Path.GetDirectoryName(Application.ExecutablePath)'を評価します。 – Mario