ORAPOCO: Update 2

Introducción

Hace unos días publique ORAPOCO, un ORM ligero para trabajar con Bases de Datos Oracle, y su primera actualización

Cambios y Mejoras

– He realizado un poco de refactoring en el código.

– He creado una clase abstracta “Base” que va a servir como Base de nuestras Entidades.

– He añadido una propiedad para indicar el modo de ejecución de los comandos: Normal(Valor por defecto) o UnitOfWork.

– He modificado la plantilla, para dar la posibilidad de utilizar el atributo “DefaultValue” con los valores por defecto de la Base de Datos.

Ejemplos:

Las nuevas entidades generadas por la plantilla tendrán un aspecto similar a:

 

   1: public class SAMPLE : Base

   2:    {

   3:        [IsPK()]

   4:        [DefaultValue("SYS_GUID()")]

   5:        public System.Guid ID { get; set; }

   6:  

   7:  

   8:        public System.String NOMBRE { get; set; }

   9:  

  10:    }

 

Un ejemplo de utilización de UoW:

   1: var db = new POCO.Ora.TP.OracleDB("MyDB",POCO.Ora.TP.Enums.Mode.UnitOfWork);

   2: var sample = new POCO.Ora.TP.SAMPLE { NOMBRE = "Javier" };

   3: db.Insert<POCO.Ora.TP.SAMPLE>(sample);

   4: db.Insert<POCO.Ora.TP.SAMPLE>(new POCO.Ora.TP.SAMPLE { NOMBRE = "Alvaro" });

   5: db.Save();

 

Descargas:

 

Como siempre tenéis las descargas en:

GitHub

Nuget

Y proximamente en CodePlex.

 

Saludos, y como siempre si me dais FeedBack Genial!

6 comentarios sobre “ORAPOCO: Update 2”

  1. Muy buenas!
    Creo que ya te lo he dicho, pero buena iniciativa! 😉

    No se si me termina de convencer la idea de una clase Base (además perdona pero creo que el nombre está muy mal elegido, por demasiado genérico. Algo como OracleEntityBase sería mejor).
    Digo que no me convence, porque rompe un poco con la filosofía de entidades POCO y persistence ignorance.

    De hecho, yo lo que intentaría añadir a ORAPOCO, es un mecanismo de configuración para mapear mis entidades sin tener que usar atributos (algo como Fluent NHibernate o EF code first usando EntityCodeTypeConfiguration<>). Eso me permitiría tener mis entidades totalmente POCO.

    Un saludo!

  2. Muchas gracias por Comentar Eduard.

    La verdad es que lo del nombre «Base» no es muy adecuado jeje.

    Me ha gustado la idea del mecanismo de mapeo 😀

  3. Hola,

    Una duda, ¿la clase base la tienes subida a github? No la encuentro por ningún sitio y seguro que es porque no estoy mirando donde debo.

    Por otra parte, estoy con Eduard en que tener una clase base es poco «POCO» 🙂

    Un saludo y enhorabuena por la gran acogida que está teniendo el proyecto.

  4. Hola Juanma y Muchas Gracias.

    Es cierto me acabo de dar cuenta que no he subido la clase Base… #FAIL

    Pero estoy trabajando la idea que comentaba Eduard de la Configuración y Fluent, así que espero tener resultados buenos en unos días…

Responder a jtorrecilla Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *