コード例 #1
0
        /// <summary>
        /// Return True if can init db connection
        /// </summary>
        /// <returns></returns>
        bool Init_DbConnection()
        {
            var cs = ConfigurationManager.AppSettings.Get("ConnectionString");

            // fix the bug Dialect Postgresql provider wrong datetime
            SqlServerOrmLiteDialectProvider dialect = SqlServerOrmLiteDialectProvider.Instance;

            dialect.UseUnicode = true;
            dialect.UseDatetime2(true);
            dialect.StringColumnDefinition                       = "nvarchar(MAX)";
            dialect.StringLengthColumnDefinitionFormat           = dialect.StringColumnDefinition;
            dialect.StringLengthNonUnicodeColumnDefinitionFormat = dialect.StringColumnDefinition;
            dialect.StringLengthUnicodeColumnDefinitionFormat    = dialect.StringColumnDefinition;
            dialect.NamingStrategy = new ABNamingStrategy();
            dbFactory = new OrmLiteConnectionFactory(cs, dialect);
            dbFactory.AutoDisposeConnection = true;

            // now we try to open a connection to check
            try
            {
                PATH_DECRYPTION_INPUT  = Db_GetSetting(Enum_Settings_Key.WEBSITE_DGL_AUTODECRYPT_INPUT, System.IO.Path.GetTempPath(), Enum_Settings_DataType.String).ToString();
                PATH_DECRYPTION_OUTPUT = Db_GetSetting(Enum_Settings_Key.WEBSITE_DGL_AUTODECRYPT_OUTPUT, System.IO.Path.GetTempPath(), Enum_Settings_DataType.String).ToString();

                log.Log(string.Format("Auto Decryption: Input folder = {0}, Output = {1}", PATH_DECRYPTION_INPUT, PATH_DECRYPTION_OUTPUT));
            }
            catch (Exception ex)
            {
                log.Log("Auto Decryption");
                log.Log(ex);
                return(false);
            }

            return(true);
        }
コード例 #2
0
        private static OrmLiteConnectionFactory GetDbConnectionFromConfig()
        {
            var cs      = ConfigurationManager.AppSettings.Get("ConnectionString");
            var db_type = ConfigurationManager.AppSettings.Get("DatabaseType").ToString().ToString().ToLower();

            // for sqlite, need to check the app_data folder
            cs = cs.Replace("~/", "~/".MapHostAbsolutePath());
            if (!System.IO.Directory.Exists("~/App_Data".MapHostAbsolutePath()))
            {
                System.IO.Directory.CreateDirectory("~/App_Data".MapHostAbsolutePath());
            }

            // fix the bug Dialect Postgresql provider wrong datetime

            if (db_type == "sqlserver")
            {
                ModelBase.DatabaseType = PhotoBookmart.DataLayer.DatabaseTypeEnum.SQLServer;
                SqlServerOrmLiteDialectProvider dialect = SqlServerOrmLiteDialectProvider.Instance;
                dialect.UseUnicode = true;
                dialect.UseDatetime2(true);
                dialect.StringColumnDefinition                       = "nvarchar(MAX)";
                dialect.StringLengthColumnDefinitionFormat           = dialect.StringColumnDefinition;
                dialect.StringLengthNonUnicodeColumnDefinitionFormat = dialect.StringColumnDefinition;
                dialect.StringLengthUnicodeColumnDefinitionFormat    = dialect.StringColumnDefinition;
                dialect.NamingStrategy = new ABNamingStrategy();
                var ret = new OrmLiteConnectionFactory(cs, dialect);
                ret.AutoDisposeConnection = true;
                return(ret);
            }
            //else if (db_type == "sqlite")
            //{
            //    ModelBase.DatabaseType = PhotoBookmart.DataLayer.DatabaseTypeEnum.Sqlite;
            //    SqliteOrmLiteDialectProvider dialect = SqliteOrmLiteDialectProvider.Instance;
            //    dialect.UseUnicode = true;
            //    dialect.NamingStrategy = new ABNamingStrategy();
            //    var ret = new OrmLiteConnectionFactory(cs, dialect);
            //    ret.AutoDisposeConnection = true;
            //    return ret;
            //}
            //if (db_type == "postgresql")
            //{
            //    ModelBase.DatabaseType = PhotoBookmart.DataLayer.DatabaseTypeEnum.PostgreSQL;
            //    PostgreSQLDialectProvider dialect = PostgreSQLDialectProvider.Instance;
            //    dialect.UseUnicode = true;
            //    dialect.NamingStrategy = new ABNamingStrategy();
            //    var ret = new OrmLiteConnectionFactory(cs, dialect);
            //    ret.AutoDisposeConnection = true;
            //    return ret;
            //}
            else
            {
                return(null);
            }
        }
コード例 #3
0
        public new void TestFixtureSetUp()
        {
            base.TestFixtureSetUp();

            //change to datetime2 - check for higher range and precision
            //default behaviour: normal datetime can't hold DateTime values of year 1.
            dbFactory = new OrmLiteConnectionFactory(base.ConnectionString, SqlServerOrmLiteDialectProvider.Instance);
            var dp2 = new SqlServerOrmLiteDialectProvider();

            dp2.RegisterConverter <DateTime>(new SqlServerDateTime2Converter());
            dbFactory.RegisterConnection("dt2", base.ConnectionString, dp2);
        }
コード例 #4
0
        public void Can_change_schema_at_runtime()
        {
            using (var captured = new CaptureSqlFilter())
                using (var db = OpenDbConnection())
                {
                    var modelDef = SqlServerOrmLiteDialectProvider.GetModelDefinition(typeof(Poco));
                    db.SingleById <Poco>(1);

                    Assert.That(captured.SqlStatements.Last(), Is.StringContaining("Schema1"));

                    modelDef.Schema = "Schema2";

                    db.SingleById <Poco>(1);

                    Assert.That(captured.SqlStatements.Last(), Is.StringContaining("Schema2"));
                }
        }
コード例 #5
0
        bool ConnectDB()
        {
            SqlServerOrmLiteDialectProvider dialect = SqlServerOrmLiteDialectProvider.Instance;

            dialect.UseUnicode = true;
            dialect.UseDatetime2(true);
            dialect.StringColumnDefinition                       = "nvarchar(MAX)";
            dialect.StringLengthColumnDefinitionFormat           = dialect.StringColumnDefinition;
            dialect.StringLengthNonUnicodeColumnDefinitionFormat = dialect.StringColumnDefinition;
            dialect.StringLengthUnicodeColumnDefinitionFormat    = dialect.StringColumnDefinition;
            var ret = new OrmLiteConnectionFactory(this.tConnection.Text, dialect);

            ret.AutoDisposeConnection = true;
            try
            {
                this.Db = ret.OpenDbConnection();
                return(true);
            }
            catch
            {
                return(false);
            }
        }