/// <summary> /// Obtém informações para manipulação automática. /// </summary> /// <param name="dbEntidade">Entidade a ser manipulada.</param> public InfoManipulaçãoConexão ObterInfoManipulação(InfoManipulação infoGeral) { InfoManipulaçãoConexão info; if (!hashManipulação.TryGetValue(infoGeral, out info)) { info = new InfoManipulaçãoConexão(infoGeral, conexão); hashManipulação[infoGeral] = info; } return info; }
/// <summary> /// Acessa informações de manipulação de um tipo específico. /// </summary> /// <param name="tipo">Tipo a ser manipulado.</param> /// <returns>Informações de manipulação.</returns> public static InfoManipulação ObterManipulação(Type tipo) { InfoManipulação info; lock (hashTipo) { if (hashTipo.TryGetValue(tipo, out info)) return info; info = new InfoManipulação(tipo); hashTipo.Add(tipo, info); } return info; }
public DbManipulaçãoAutomática() { infoManipulação = InfoManipulação.ObterManipulação(GetType()); }
/// <summary> /// Constrói as informações para manipulação de uma /// entidade em uma conexão específica. /// </summary> /// <param name="info">Informações de manipulação da entidade.</param> /// <param name="conexão">Conexão com o banco de dados.</param> public InfoManipulaçãoConexão(InfoManipulação info, IDbConnection conexão) { ConstruirComandos(conexão, info.Tabela, info.ChavePrimária, info.ChavePrimáriaPersonalizável, info.Atributos); }