private string MakeInSql <TProp>(Expression <Func <TModel, TProp> > propExpr, Op op, IList <TProp> values) { if (propExpr == null) { throw new ArgumentNullException(nameof(propExpr)); } if (values == null) { throw new ArgumentNullException(nameof(values)); } var prop = propExpr.GetMemberName(); if (string.IsNullOrEmpty(prop)) { throw new ArgumentNullException(nameof(propExpr)); } var type = typeof(TProp); var list = values.Select(value => WrapValue(type, value)); var v = string.Join(",", list); var tpl = op.AsString(); return(string.Format(tpl, prop, v)); }
private string MakeSql <TProp>(Expression <Func <TModel, TProp> > propExpr, Op op, TProp value) { if (propExpr == null) { throw new ArgumentNullException(nameof(propExpr)); } if (value == null) { throw new ArgumentNullException(nameof(value)); } var prop = "`" + propExpr.GetMemberName() + "`"; if (string.IsNullOrEmpty(prop)) { throw new ArgumentNullException(nameof(propExpr)); } var tpl = op.AsString(); var v = tpl.Contains("'") ? value.ToString() : WrapValue(typeof(TProp), value); return(string.Format(tpl, prop, v)); }
public void OpToStringTest(Op op, string expected) { Assert.AreEqual(op.AsString(), expected); }