0

マッピングによって Nhibernate コードを使用してセッション ファクトリをセットアップしようとしていますが、構成に問題があり、セッション ファクトリとマッピングしてコードのガイドを見つけるのはかなり困難です。

気圧 私はこの SessionManager を持っていますが、その MySQL データベースを指定する場所が不明です。

public class SessionManager
{
    private const string ConnString = "Server=localhost; Port=3306; Database=test; Uid=root; Pwd=123456;";

    public static SessionManager CurrentInstance
    {
        get
        {
            if (_currentInstance == null)
            {
                object sync = new object();
                lock (sync)
                    _currentInstance = new SessionManager();
            }
            return _currentInstance;
        }
    }

    public static ISession Session
    {
        get
        {
            if (_sessionFactory == null)
            {
                object sync = new object();
                lock (sync)
                    _sessionFactory = new Configuration()
                        .DataBaseIntegration(x => x.ConnectionString = ConnString)
                        .Configure()
                        .AddAssembly(typeof(EmployeeMap).Assembly)
                        .BuildSessionFactory();
            }
            return _sessionFactory.OpenSession();
        }
    }

    private SessionManager() { }

    static SessionManager _currentInstance;
    static ISessionFactory _sessionFactory;
}
4

1 に答える 1

1

あなたがやろうとしているのは、mysqlを使用していることを指定することだと思います。これを行ったとき、driver_classを示す行を含むNHibernate構成ファイルを使用しました。

<property name="connection.driver_class">NHibernate.Driver.MySqlDataDriver</property>

このチュートリアルをお試しください

http://nhforge.org/wikis/howtonh/your-first-nhibernate-based-application.aspx

nhibernateセッションを設定するプロセスについて説明し、サンプルのhibernate.cfg.xmlファイルを示します。この設定では、示されているSQLServerCeDriverの代わりにMySqlDataDriverを指定する必要があります。

hibernate.cfg.xmlを使用せずにこれを実行できるかどうかはわかりません

于 2013-01-05T16:53:50.367 に答える