public int Count <T>(SqlCriteria aCriteria, CachePreference aPreferences) where T : class, new() { int count = 0; var query = QueryFactory.CreateSelectQuery(); query.SetStatement( s => { s.AddField(Factory.GetExpressionHelper <T>().GetCountField <T>()); s.AddFrom(Loader.GetClassMap <T>().GetTableName()); }); if (aCriteria == null) { aCriteria = Factory.CreateCriteria(); } if (aPreferences == null) { aPreferences = new CachePreferenceImpl(); } query.SetCriteria(aCriteria).SetCache(aPreferences); IntBinder binder = new IntBinder(); binder.OnBind = delegate(IntResult aResult) { count = aResult.value; }; Connetion.execute(query, binder); return(count); }
public int Update <T>(T aModel, SqlCriteria aCriteria, bool isNullBind) where T : class, new() { UpdateQuery <T> query = QueryFactory.CreateUpdateQuery <T>(aModel, isNullBind).SetCriteria(aCriteria); int result = 0; IntBinder binder = new IntBinder(); binder.OnBind = delegate(IntResult aResult) { result = aResult.value; }; Connetion.execute <IntResult>(query, binder); return(result); }
public int Delete <T>(SqlCriteria aCriteria) where T : class, new() { DeleteQuery <T> query = QueryFactory.CreateDeleteQuery <T>(); query.SetCriteria(aCriteria); int result = 0; IntBinder binder = new IntBinder(); binder.OnBind = delegate(IntResult aResult) { result = aResult.value; }; Connetion.execute <IntResult>(query, binder); return(result); }