public static int Delete <T>(this DbAccessor db, object objIdParameters) { var tableMapping = new TableMapping(typeof(T)); ISqlBuilder sqlBuilder = new DefaultSqlBuilder(tableMapping); #region 处理参数为基础类型,即直接为主键的值 if (objIdParameters.GetType() == typeof(string) || objIdParameters.GetType().GetTypeInfo().IsPrimitive) { var dicParam = new Dictionary <string, object>(); var keyColumns = tableMapping.GetKeyColumns(); if (keyColumns.Count == 0) { throw new Exceptions.EntityException("实体没有设置主键!"); } string keyColumnName = keyColumns[0].ColumnName; dicParam.Add(keyColumnName, objIdParameters); objIdParameters = dicParam; } #endregion return(db.ExecuteNonQuery(sqlBuilder.BuildDelete(), objIdParameters)); }
public static IList <T> SelectList <T>(this DbAccessor db, object objParameters) { var tableMapping = new TableMapping(typeof(T)); ISqlBuilder sqlBuilder = new DefaultSqlBuilder(tableMapping); return(db.QueryEntities <T>(sqlBuilder.BuildSelectList(), objParameters)); }
public static int Insert <T>(this DbAccessor db, object objParameters) { var mapping = new TableMapping(typeof(T)); mapping.FilterColumn(objParameters); ISqlBuilder sqlBuilder = new DefaultSqlBuilder(mapping); return(db.ExecuteNonQuery(sqlBuilder.BuildInsert(), objParameters)); }
public static int UpdateFields(this DbAccessor db, object objEntity, params string[] inclusiveFields) { List <string> lsInclusiveFields = new List <string>(); lsInclusiveFields.AddRange(inclusiveFields); var mapping = new TableMapping(objEntity.GetType()); foreach (var item in mapping.GetKeyColumns()) { lsInclusiveFields.Add(item.ColumnName); } mapping.FilterColumn(lsInclusiveFields.ToArray()); ISqlBuilder sqlBuilder = new DefaultSqlBuilder(mapping); return(db.ExecuteNonQuery(sqlBuilder.BuildUpdate(), objEntity)); }
public void TableMapping() { TableMapping table = new TableMapping(typeof(SysProduct)); Console.WriteLine(table.TableName); foreach (var col in table.Columns) { Console.WriteLine(col.ColumnName + " " + col.IsPrimaryKey); } DefaultSqlBuilder sqlb = new DefaultSqlBuilder(table); Console.WriteLine(sqlb.BuildDelete()); Console.WriteLine(sqlb.BuildInsert()); Console.WriteLine(sqlb.BuildUpdate()); }
public static int Update(this DbAccessor db, object objEntity) { ISqlBuilder sqlBuilder = new DefaultSqlBuilder(new TableMapping(objEntity.GetType())); return(db.ExecuteNonQuery(sqlBuilder.BuildUpdate(), objEntity)); }
public void TestDefaultSqlBuilder() { DefaultSqlBuilder builder = new DefaultSqlBuilder(new TableMapping(typeof(SysProduct))); Console.WriteLine(builder.BuildSelect()); }
public static T Select <T>(this DbAccessor db, object objIdParameters) { ISqlBuilder sqlBuilder = new DefaultSqlBuilder(new TableMapping(typeof(T))); return(db.QueryEntity <T>(sqlBuilder.BuildSelect(), objIdParameters)); }