public object Deserializer <T>(IDataReader reader) { var type = TypeMap.GetStandardType(typeof(T)); switch (type) { case StandardType.Dictionary: return(DeserializerDictionary <T>(reader)); case StandardType.Simple: return((T)DeserializerSimple(reader)); case StandardType.Class: return(DeserializerClass <T>(reader)); } return(null); }
public void Prepare(IDbCommand cmd, object param) { PrepareSql = _sql; PrepareParameters = new List <IDbDataParameter>(); if (param != null) { if (CommandType == CommandType.Text) { var type = TypeMap.GetStandardType(param); switch (type) { case StandardType.Dictionary: SerializerDictionary(cmd, (IDictionary)param); break; case StandardType.Simple: SerializerSimple(cmd, param); break; case StandardType.Class: SerializerClass(cmd, param); break; } } else if (CommandType == CommandType.StoredProcedure) { throw new SqlException("暂不支持存储过程"); } } cmd.CommandText = PrepareSql; cmd.CommandType = CommandType; if (PrepareParameters != null && PrepareParameters.Count > 0) { PrepareParameters.ToList().ForEach(op => { cmd.Parameters.Add(op); }); } }