protected override void AppendPredicateType() { PredicateMapper.Add(PredicateType.FULL_LIKE, "{0} LIKE '%{1}%'"); PredicateMapper.Add(PredicateType.START_LIKE, "{0} LIKE '{1}%'"); PredicateMapper.Add(PredicateType.END_LIKE, "{0} LIKE '%{1}' "); PredicateMapper.Add(PredicateType.IN, "{0} IN ({1})"); }
protected override void AppendPredicateType() { PredicateMapper.Add(PredicateType.FULL_LIKE, "{0} LIKE CONCAT('%',{1},'%')"); PredicateMapper.Add(PredicateType.START_LIKE, "{0} LIKE CONCAT('',{1},'%')"); PredicateMapper.Add(PredicateType.END_LIKE, "{0} LIKE CONCAT('%',{1},'')"); PredicateMapper.Add(PredicateType.IN, "FIND_IN_SET({0},{1})"); }
public void CanConvert() { var converter = PredicateMapper.Map <InDto, OutDto>(); Expression <Func <InDto, bool> > expression = x => x.Name == "foo"; var converted = converter.Convert <InDto, OutDto>(expression); Assert.AreEqual("x => (x.Name == \"foo\")", converted.ToString()); }
public void CanConvertWithSubstitution() { var converter = PredicateMapper.Map <InDto, AliasDto>().MapMember <InDto, AliasDto, string>(x => x.Name, x => x.Alias); Expression <Func <InDto, bool> > expression = x => x.Name == "foo"; Expression <Func <AliasDto, bool> > converted = converter.Convert <InDto, AliasDto>(expression); Assert.AreEqual("x => (x.Alias == \"foo\")", converted.ToString()); }
public void CanConvertOnChildType() { var converter = PredicateMapper.Map <InDto, OutDto>() .And <ChildInDto, ChildOutDto>(); Expression <Func <InDto, bool> > expression = x => x.Children.Any(y => y.Value == "foo"); var converted = converter.Convert <InDto, OutDto>(expression); Assert.AreEqual("x => x.Children.Any(y => (y.Value == \"foo\"))", converted.ToString()); }
public void WhenSubstitutionTargetIsNotMemberExpressionThenThrows() { Assert.Throws <ArgumentException>(() => PredicateMapper.Map <InDto, AliasDto>().MapMember <InDto, AliasDto, string>(x => x.Name, x => x.GetAlias())); }