コード例 #1
0
ファイル: Criteria.cs プロジェクト: ichoukou/BM
        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));
        }
コード例 #2
0
ファイル: Criteria.cs プロジェクト: ichoukou/BM
        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));
        }
コード例 #3
0
ファイル: SqlHelperTest.cs プロジェクト: ichoukou/BM
 public void OpToStringTest(Op op, string expected)
 {
     Assert.AreEqual(op.AsString(), expected);
 }