public void Sql2008_ToSQL() { IDbTranslator dbTranslator = new Sql2008Translator(); IExpressionParser expressionParser = new ExpressionParser(EntityMapperFactory.Instance.GetEntityMapper(typeof(User))); DataParameterCollection dpc = new DataParameterCollection(); Expression <Func <User, bool> > predicate = entity => !(entity.Age == 18) && entity.Age != 27 && entity.CreationTime <DateTime.Now && entity.CreatorUserId == 1000 && entity.DeleterUserId == null && entity.DeletionTime> DateTime.Now && entity.Height >= 175 && entity.Id <= 0 && entity.IsDeleted && entity.Six == Six.Woman && entity.Name == "Maple" && entity.Name.Contains("apl") && entity.Name.StartsWith("Map") && entity.Name.EndsWith("ple") && true; string sql = expressionParser.ToSQL(predicate.Body, dbTranslator, dpc); Assert.Equal(1, 1); }
public void Sql2008_IN_ToSQL() { string[] palyers = new string[] { "A" }; int[] ages = new int[] { 1, 2, 3 }; Six[] sixs = new Six[] { Six.Man, Six.Woman }; IDbTranslator dbTranslator = new Sql2008Translator(); IExpressionParser expressionParser = new ExpressionParser(EntityMapperFactory.Instance.GetEntityMapper(typeof(User))); DataParameterCollection dpc = new DataParameterCollection(); Expression <Func <User, bool> > predicate = entity => palyers.Contains(entity.Name) || ages.Contains(entity.Age) || sixs.Contains(entity.Six); string sql = expressionParser.ToSQL(predicate.Body, dbTranslator, dpc); Assert.Equal(1, 1); }
public void Sql2008_DATAOBJECT_ToSQL() { IDbTranslator dbTranslator = new Sql2008Translator(); IExpressionParser expressionParser = new ExpressionParser(EntityMapperFactory.Instance.GetEntityMapper(typeof(User))); DataParameterCollection dpc = new DataParameterCollection(); Expression <Func <User, bool> > predicate = entity => entity.Id == 0 && entity.Address.Number == 301; string sql = expressionParser.ToSQL(predicate.Body, dbTranslator, dpc); Assert.Equal(1, 1); }
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); }