Guía de XPO ORM para proyectos de código abierto

Visión general de XPO ORM

XPO (eXpress Persistent Objects) es una herramienta de mapeo objeto-relacional (ORM) para .NET Framework, .NET Core y .NET Standard 2.0. Gestiona la creación de bases de datos y la persistencia de objetos, permitiendo que los desarrolladores se enfoquen en la lógica de negocio. Soporta flujos de trabajo como Code First, Model First y Database First.

Inicio rápido

Instalación vía NuGet

Para usar XPO sin funciones de diseño de Visual Studio, instala el paquete con el siguiente comando:

dotnet add package DevExpress.Xpo

Configuración de base de datos y esquema

Este ejemplo ilustra cómo crear una base de datos y definir una tabla utilizando XPO:

using DevExpress.Xpo;
using DevExpress.Xpo.DB;
using DevExpress.Xpo.Metadata;

class ConfiguradorApp
{
    static void InicializarBD()
    {
        string cadenaConn = MSSqlConnectionProvider.GetConnectionString("localhost", "DemoBD", "admin", "contraseña_segura");
        IDataLayer capa = XpoDefault.GetDataLayer(cadenaConn, AutoCreateOption.DatabaseAndSchema);

        using (var sesion = new Session(capa))
        {
            sesion.UpdateSchema(typeof(Empleado));
        }
    }
}

public class Empleado : XPObject
{
    public Empleado(Session sesion) : base(sesion) { }

    public string Nombre { get; set; }
    public string Correo { get; set; }
}

Inserción de datos

Para agregar registros, se utiliza un UnitOfWork:

using (var uow = new UnitOfWork(capa))
{
    var nuevoEmpleado = new Empleado(uow)
    {
        Nombre = "Ana López",
        Correo = "ana.lopez@ejemplo.com"
    };
    uow.CommitChanges();
}

Consulta de datos

Para recuperar información, se emplea LINQ a través de una sesión:

using (var sesion = new Session(capa))
{
    var empleados = sesion.Query<empleado>().Where(e => e.Nombre.Contains("López")).ToList();
    foreach (var emp in empleados)
    {
        Console.WriteLine($"Nombre: {emp.Nombre}, Correo: {emp.Correo}");
    }
}</empleado>

Casos de uso y recomendaciones

Aplicaciones prácticas

XPO es adecuado para sistmeas empresariales de alto rendimiento, como plataformas de gestión de recursos, aplicaciones de comercio en línea y herramientas de análisis.

Mejores prácticas

  • Emplear Code First: Permite iterar rápidamente los modelos de negocio durante el desarrollo.
  • Optimizar consultas: Usa índices y mecanismos de caché disponibles en XPO para mejorar el rendimiento.
  • Implementar pruebas unitarias: Valida la lógica de negocio con capas de datos simuladas.

Ecosistema y herramientas

Integración con DevExpress

XPO es parte del ecosistema DevExpress, que ofrece controles de interfaz de usuario para WinForms, WPF, ASP.NET y Blazor, facilitando el desarrollo de aplicaciones completas.

Comparación con otros ORMs

XPO se puede comparar con soluciones como Antity Framework Core y NHibernate. Las pruebas de rendimiento se encuentran en la carpeta Benchmarks del proyecto.

Etiquetas: XPO ORM .NET DevExpress Persistencia de objetos

Publicado el 6-2 17:33