2016-02-27 51 views
0

我想創建一個連接到MySQL使用NHibernate和FluentNHibernate。我加MySql.Datanuget但當我嘗試創建連接它拋出一個異常與消息The name MySQLConfiguration not exist in the current context嘗試創建一個NHibernate和FluentNHibernate連接MySQL?

我怎麼能解決這個問題?

試圖

private static ISessionFactory getConnection(){ 
    return Fluently.Configure(). 
      Database(MySQLConfiguration.Standard.ConnectionString(
      x=>x.Server("localhost"). 
       Username("root"). 
       Password(""). 
       Database("usuarios_db") 
      )). 
      Mappings(m => m.FluentMappings.AddFromAssemblyOf<UsuarioMap>()). 
      ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true)). 
      BuildSessionFactory(); 
} 

回答

0

解決。問題出在我的Visual Studio 2012中,它沒有導入這些庫,我不知道需要哪個庫,並且它出現了問題。

現在它工作。

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using NHibernate; 
using FluentNHibernate.Cfg; 
using FluentNHibernate.Cfg.Db; 
using ControleUsuarios.Map; 
using NHibernate.Tool.hbm2ddl; 


namespace ControleUsuarios.BD { 

    public class BDConnect { 

     private static ISessionFactory session; 
     private static const String HOST = "localhost"; 
     private static const String USER = "root"; 
     private static const String PASSWORD = ""; 
     private static const String DB = "usuario_db";   

     /** create a connection with database */ 
     private static ISessionFactory createConnection() { 

      if (session != null) 
       return session; 

      //database configs 
      FluentConfiguration _config = Fluently.Configure().Database(MySQLConfiguration.Standard.ConnectionString(
                     x => x.Server(HOST). 
                      Username(USER). 
                      Password(PASSWORD). 
                      Database(DB) 
                     )) 
                     .Mappings(m => m.FluentMappings.AddFromAssemblyOf<UsuarioMap>()) 
                     .ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true)); 

      session = _config.BuildSessionFactory(); 
      return session; 
     } 


     /** open a session to make transactions */ 
     public static ISession openSession() { 
      return createConnection().OpenSession(); 
     } 



    } 
}