Ejemplo n.º 1
0
        private String GetUpdateSql(Tuple <List <String>, List <String> > tuple)
        {
            String        pk     = EntityTableMapper.GetPkColumn(typeof(T));
            StringBuilder colstr = new StringBuilder();
            List <String> cols   = tuple.Item1;
            List <String> props  = tuple.Item2;

            for (Int32 i = 0; i < cols.Count; i++)
            {
                //去掉主键
                if (cols[i] == pk)
                {
                    continue;
                }
                if (colstr.Length != 0)
                {
                    colstr.Append(",");
                }
                // synctimes = synctimes+1 的形式便直接拼接
                //注意,此处在解析header时候,便是1:1的关系,如果是set中便是为空
                if (String.IsNullOrEmpty(props[i]))
                {
                    colstr.Append($" {cols[i]} ");
                }
                else
                {
                    colstr.Append($"{cols[i]} = @{props[i]}");
                }
            }
            return(colstr.ToString());
        }
Ejemplo n.º 2
0
        public async Task <T> GetAsync(Object pkValue)
        {
            Type   t    = typeof(T);
            String name = EntityTableMapper.GetPkColumn(t);
            Expression <Func <T, Boolean> > expression = PropertyValueExpression <T> .BuildExpression(name, pkValue);

            return(await m_executeBatch.QueryAsync(m_query.Select().Where(expression).End()));
        }
Ejemplo n.º 3
0
        private void SetNoneWhere(Type t)
        {
            String pk = EntityTableMapper.GetPkColumn(t);

            if (String.IsNullOrEmpty(pk))
            {
                throw new ArgumentException("请使用带主键的或者添加删选条件");
            }
            String pkValue = ValuePairs[pk].ColumnName;
            ColumnRelevanceMapper column = new ColumnRelevanceMapper();

            column.ColumnName = pk;
            column.TableName  = t;
            ColumnRelevanceMapper value = new ColumnRelevanceMapper();

            value.ColumnName      = pk;
            value.SqlOperatorEnum = SqlOperatorEnum.Equal;
            Reduce.AddWhere(column);
            Reduce.AddWhere(value);
        }