public void GetDbProviderFactory_MYSQL()
        {
            string            name    = new MySQLTranslator().ProviderInvariantName;
            DbProviderFactory factory = DbDriveFactories.GetFactory(name);

            Assert.True(factory != null);
        }
示例#2
0
        public void StringQueryTest(IQueryable <TestQuery> query, string expectedResult)
        {
            MySQLTranslator translator = new MySQLTranslator();
            SQLPredicate    Sql        = translator.Translate(query.Expression);

            Assert.Equal(expectedResult, Sql.Sql);
        }
示例#3
0
        public void QueryTests(IQueryable <TestModel> query, string expectedResult)
        {
            MySQLTranslator translator = new MySQLTranslator();
            SQLPredicate    Sql        = translator.Translate(query.Expression);

            Console.WriteLine(Sql.Sql);
            Assert.Equal(expectedResult, Sql.Sql);
        }
示例#4
0
        public void GetDeleteAllTest()
        {
            MySQLTranslator translator = new MySQLTranslator();
            QueryProvider   provider   = new QueryProvider(new DbProvider(DbType.Sql, "Server=127.0.0.1;Database=fakedb;User Id=FakeUser;Password=fake.password;"));
            IDbCommand      cmd        = provider.GetDeleteAllCommand("TestModels");

            Assert.Equal("DELETE FROM TestModels;", cmd.CommandText);
        }
示例#5
0
        public void SelectReturningBoolTest()
        {
            Query <TestModel> queryObject    = new Query <TestModel>(new QueryProvider(new DbProvider(DbType.Sql, "Server=127.0.0.1;Database=fakedb;User Id=FakeUser;Password=fake.password;")));
            IQueryable <bool> query          = queryObject.Where(t => t.BoolProperty && t.EnumProperty == TestEnum.Three).Select(t => t.BoolProperty);
            string            expectedResult = "SELECT t.BoolProperty FROM (SELECT t.Id, t.BoolProperty, t.CreatedOn, t.DateTimeProperty, t.EnumProperty, t.StringProperty, t.UpdatedOn FROM TestModels AS t WHERE (t.BoolProperty AND (t.EnumProperty = @P0))) AS t";
            MySQLTranslator   translator     = new MySQLTranslator();
            SQLPredicate      Sql            = translator.Translate(query.Expression);

            Assert.Equal(expectedResult, Sql.Sql);
        }
示例#6
0
        public void GetInsertCommandTests(TestModel model, string expectedResult)
        {
            MySQLTranslator translator = new MySQLTranslator();
            QueryProvider   provider   = new QueryProvider(new DbProvider(DbType.Sql, "Server=127.0.0.1;Database=fakedb;User Id=FakeUser;Password=fake.password;"));
            string          result;
            IDbCommand      cmd = provider.GetInsertCommand(model, "TestModels", Mapper.GetTableMapping <TestModel>());

            result = cmd.CommandText;
            Assert.Equal(expectedResult, result);
        }
示例#7
0
        public void GetDeleteCommandTest()
        {
            TestModel model = new TestModel {
                Id = 1
            };
            MySQLTranslator translator = new MySQLTranslator();
            QueryProvider   provider   = new QueryProvider(new DbProvider(DbType.Sql, "Server=127.0.0.1;Database=fakedb;User Id=FakeUser;Password=fake.password;"));
            IDbCommand      cmd        = provider.GetDeleteCommand(model.Id, "TestModels", Mapper.GetTableMapping <TestModel>());

            Assert.Equal("DELETE FROM TestModels WHERE Id = @id;", cmd.CommandText);
        }
示例#8
0
        public void DbSqlFactories_CUD_SQL()
        {
            EntityConfigurationFactory.SetConfiguration(typeof(User), typeof(UserEntityConfiguration));

            IDbTranslator dbTranslator = new MySQLTranslator();
            IEntityMapper entityInfo   = EntityMapperFactory.Instance.GetEntityMapper(typeof(User));
            object        entity       = new User()
            {
                Id = 10
            };

            SqlStatement InsertSql = DbSqlFactories.BuildInsertSqlStatement(dbTranslator, entityInfo, entity);
            SqlStatement UpdateSql = DbSqlFactories.BuildUpdateSqlStatement(dbTranslator, entityInfo, entity);
            SqlStatement DeleteSql = DbSqlFactories.BuildDeleteSqlStatement(dbTranslator, entityInfo, entity);

            Assert.Equal(1, 1);
        }
示例#9
0
        public void GetUpdateCommandWithSpecificPropertiesTests(TestModel model, string expectedResult)
        {
            MySQLTranslator translator = new MySQLTranslator();
            QueryProvider   provider   = new QueryProvider(new DbProvider(DbType.Sql, "Server=127.0.0.1;Database=fakedb;User Id=FakeUser;Password=fake.password;"));
            string          result;

            try
            {
                IDbCommand cmd = provider.GetUpdateCommand(model, "TestModels", Mapper.GetTableMapping <TestModel>(), x => x.BoolProperty, x => x.StringProperty, x => x.DateTimeProperty);
                result = cmd.CommandText;
            }
            catch (Exception e)
            {
                result = e.Message;
            }
            Assert.Equal(expectedResult, result);
        }
        private IDbTranslator getDbTranslator(IDataSetting dataSetting)
        {
            IDbTranslator dbTranslator;

            switch (dataSetting.DataSouceType)
            {
            case DataSouceType.MySQL:
                dbTranslator = new MySQLTranslator();
                break;

            case DataSouceType.Oracle:
                dbTranslator = new OracleTranslator();
                break;

            case DataSouceType.Sql2000:
                dbTranslator = new Sql2000Translator();
                break;

            case DataSouceType.Sql2005:
                dbTranslator = new Sql2005Translator();
                break;

            case DataSouceType.Sql2008:
                dbTranslator = new Sql2008Translator();
                break;

            case DataSouceType.Sqlite:
                dbTranslator = new SqliteTranslator();
                break;

            default:
                throw new MapleException(string.Format("未知的数据源类型“{0}”。请核实数据源类型配置是否正确。", dataSetting.DataSouceType));
            }

            return(dbTranslator);
        }