星空网 > 软件开发 > ASP.net

Fluent NHibernate and Mysql,SQLite

http://codeofrob.com/entries/sqlite-csharp-and-nhibernate.html

https://code.google.com/archive/p/csharp-sqlite/downloads

https://github.com/davybrion/NHibernateWorkshop

MySQL

 /// <summary>     ///MySQL 创建ISessionFactory     /// </summary>     /// <returns></returns>     public static ISessionFactory GetSessionFactory()     {       if (_sessionFactory == null)       {         lock (_objLock)         {           if (_sessionFactory == null)           {             //配置ISessionFactory             _sessionFactory = FluentNHibernate.Cfg.Fluently.Configure()               //数据库配置            .Database(FluentNHibernate.Cfg.Db.MySQLConfiguration.Standard              .ConnectionString(c=>c.Server("")              .Database("geovindu")              .Password("520")              .Username("root"))              )                          .Mappings(m => m             //.FluentMappings.PersistenceModel             //.FluentMappings.AddFromAssembly();                        .FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly())) //用法注意                 .BuildSessionFactory();                      //  Fluently.Configure().Database(          //  MySqlConfiguration.Standard.ConnectionString(          //    c => c.FromConnectionStringWithKey("ConnectionString")          //  )          //)          //.Mappings(m => m.FluentMappings.AddFromAssemblyOf<MyAutofacModule>())          //.BuildSessionFactory())           }         }       }       return _sessionFactory;     }     /// <summary>     /// 重置Session     /// </summary>     /// <returns></returns>     public static ISession ResetSession()     {       if (_session.IsOpen)         _session.Close();       _session = _sessionFactory.OpenSession();       return _session;     }     /// <summary>     /// 打开ISession     /// </summary>     /// <returns></returns>     public static ISession GetSession()     {       GetSessionFactory();       if (_session == null)       {         lock (_objLock)         {           if (_session == null)           {             _session = _sessionFactory.OpenSession();           }         }       }       return _session;     }

  SQLite (测试ISessionFactory还存在问题)

 /// <summary>  /// http://frankdecaire.blogspot.com/2014/04/fluent-nhibernate-unit-testing-using.html  /// </summary>  public static class SQLLiteSessionFactory  {    private static ISessionFactory _sessionFactory;    private static ISessionFactory SessionFactory    {      get      {        if (_sessionFactory == null)        {          _sessionFactory = Fluently.Configure()          .Database(SQLiteConfiguration              .Standard              .InMemory()              .UsingFile("sibodu.db")          )          .Mappings(m => m.FluentMappings.AddFromAssemblyOf<NHibernateTestProject.Entites.Department>())          .Mappings(m => m.FluentMappings.AddFromAssemblyOf<NHibernateTestProject.Entites.Employee>())          .ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))          .BuildSessionFactory();        }        return _sessionFactory;      }    }    public static ISession OpenSession()    {      return SessionFactory.OpenSession();    }  }

  

/// http://www.cnblogs.com/vingi/articles/4302497.html
/// http://codeofrob.com/entries/sqlite-csharp-and-nhibernate.html
/// http://frankdecaire.blogspot.com/2014/04/fluent-nhibernate-unit-testing-using.html

 /// <summary>  /// Nhibernate  /// </summary>  public class MonoSQLiteDriver : NHibernate.Driver.ReflectionBasedDriver  {    public MonoSQLiteDriver()      : base(      "Mono.Data.Sqlite",      "Mono.Data.Sqlite",      "Mono.Data.Sqlite.SqliteConnection",      "Mono.Data.Sqlite.SqliteCommand")    {    }    public override bool UseNamedPrefixInParameter    {      get      {        return true;      }    }    public override bool UseNamedPrefixInSql    {      get      {        return true;      }    }    public override string NamedPrefix    {      get      {        return "@";      }    }    public override bool SupportsMultipleOpenReaders    {      get      {        return false;      }    }  } /// <summary>  /// Fluent NHibernate  ///  /// </summary>  public class MonoSQLiteConfiguration : PersistenceConfiguration<MonoSQLiteConfiguration>  {    public static MonoSQLiteConfiguration Standard    {      get { return new MonoSQLiteConfiguration(); }    }    /// <summary>    ///     /// </summary>    public MonoSQLiteConfiguration()    {      Driver<MonoSQLiteDriver>();      Dialect<SQLiteDialect>();      Raw("query.substitutions", "true=1;false=0");    }    /// <summary>    ///     /// </summary>    /// <returns></returns>    public MonoSQLiteConfiguration InMemory()    {      Raw("connection.release_mode", "on_close");      return ConnectionString(c => c        .Is("Data Source=:memory:;Version=3;"));//New=True;    }    /// <summary>    ///     /// </summary>    /// <param name="fileName"></param>    /// <returns></returns>    public MonoSQLiteConfiguration UsingFile(string fileName)    {      return ConnectionString(c => c        .Is(string.Format("Data Source={0};Version=3;Pooling=true;FailIfMissing=false;UTF8Encoding=True;", fileName)));//New=True;    }    /// <summary>    ///     /// </summary>    /// <param name="fileName"></param>    /// <param name="password"></param>    /// <returns></returns>    public MonoSQLiteConfiguration UsingFileWithPassword(string fileName, string password)    {      return ConnectionString(c => c        .Is(string.Format("Data Source={0};Version=3;New=True;Password={1};", fileName, password)));    }  }

  




原标题:Fluent NHibernate and Mysql,SQLite

关键词:MYSQL

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

找海外仓合作:https://www.goluckyvip.com/tag/48762.html
找货神器:https://www.goluckyvip.com/tag/48763.html
找外贸订单:https://www.goluckyvip.com/tag/48765.html
找外贸客户:https://www.goluckyvip.com/tag/48766.html
找外贸客户的方法:https://www.goluckyvip.com/tag/48767.html
找英国海外仓:https://www.goluckyvip.com/tag/48768.html
TikTok 将推出先买后付服务 :https://www.goluckyvip.com/news/188219.html
深圳有没有比较好玩的景点 深圳有没有比较好玩的景点推荐一下:https://www.vstour.cn/a/366175.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流