public static T FirstOrDefault <T>(Expression <Func <T, bool> > expression) where T : class { var visit = new MyExpressionVisitor(); visit.Visit(expression); var sqlWhere = visit.WhereMarkUp <T>(); var tableAttr = GetTableAttribute <T>(); var sql = SqlReplaceWhiteSpace($"Select Top 1 * from {tableAttr.TableName}{ sqlWhere} ;"); IList <T> result = GetFillDataSet <T>(sql); return(result.FirstOrDefault()); }
public static bool Update <T>(Expression <Func <T, bool> > expression, dynamic updateObj) where T : class { var visit = new MyExpressionVisitor(); visit.Visit(expression); var sqlWhere = visit.WhereMarkUp <T>(); var tableAttr = GetTableAttribute <T>(); var setParam = GetSetParam(updateObj); var sql = SqlReplaceWhiteSpace($"Update {tableAttr.TableName} Set {setParam}{ sqlWhere} ;"); var res = DBHelper.ExecuteNonQuery(sql); return(res > 0 ? true : false); }
public static int Count <T>(Expression <Func <T, bool> > expression) { var visit = new MyExpressionVisitor(); visit.Visit(expression); var sqlWhere = visit.WhereMarkUp <T>(); var tableAttr = GetTableAttribute <T>(); var sql = SqlReplaceWhiteSpace($"Select Count(*) from {tableAttr.TableName}{ sqlWhere} ;"); var result = DBHelper.ExecuteScalar(sql); var count = Convert.ToInt32(result); return(count); }