private void Tran() { for (int i = 0; i < sqlColltion.Count; i++) { BaseEntitie obj = sqlColltion[i]; Type type; type = obj.GetType(); FastInvoke.FastInvokeHandler fastInvoker = FastInvoke.GetMethodInvoker(type.GetMethod("get_Action")); object o = fastInvoker(obj, null); string s_ClassName = type.Name.Replace("Info", "Dao"); IDataAccess o_Class = (IDataAccess)CacheFactory.CreateObject("AYJZ.DataAccess." + s_ClassName); int iReturn = 0; switch (Convert.ToInt16(o)) { case DatabaseActions.Insert: iReturn = o_Class.Insert(obj, trans); break; case DatabaseActions.Update: iReturn = o_Class.Update(obj, trans); break; case DatabaseActions.Delete: iReturn = o_Class.Delete(obj, trans); break; case DatabaseActions.Query: iReturn = o_Class.Insert(obj, trans); break; case DatabaseActions.Ingore: iReturn = o_Class.Insert(obj, trans); break; default: iReturn = 0; break; } } }