Ejemplo n.º 1
0
        public void BatchUpdate(Expression <Func <T, bool> > expression, object data)
        {
            OpenConnection();
            var converter = new SqlConverter(typeof(T), Connection.GetType());

            var where = converter.ExpressionToWhere(expression);
            var param      = converter.DynamicParameters;
            var dictionary = ObjectUtility.ObjectToDictionary(data);

            var valueStr    = new StringBuilder();
            var columnCount = EntityContext <T> .Columns.Count();

            foreach (var currColumn in dictionary)
            {
                valueStr.Append(string.Format("{0}=@{0},", currColumn.Key));
                param.Add(currColumn.Key, currColumn.Value);
            }
            if (valueStr.Length > 0)
            {
                valueStr.Remove(valueStr.Length - 1, 1);
            }
            var sql = string.Format("update {0} set {1} where {2}", EntityContext <T> .TableName, valueStr.ToString(), where);

            Connection.Execute(sql, param);
        }
Ejemplo n.º 2
0
        public void BatchDelete(Expression <Func <T, bool> > expression)
        {
            OpenConnection();
            var converter = new SqlConverter(typeof(T), Connection.GetType());

            var where = converter.ExpressionToWhere(expression);
            var param = converter.DynamicParameters;
            var sql   = string.Format("delete from {0}{1}", EntityContext <T> .TableName, where);

            Connection.Execute(sql, param);
        }