IRONSOFTWAREHOME
ACTUALIZACIONES PARA DESARROLLADORES

OData C# (Cómo Funciona para Desarrolladores)

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 21 de abril de 2026

El Protocolo de Datos Abiertos (OData) simplifica la creación y consumo de APIs RESTful en el desarrollo de Microsoft .NET. Ofrece un enfoque estandarizado para consultar y manipular datos a través de operaciones CRUD familiares (Crear, Leer, Actualizar, Eliminar). Este artículo explora cómo el Protocolo de Datos Abiertos simplifica el desarrollo de API en .NET, proporcionando ejemplos y destacando sus beneficios clave. Para explorar más sobre OData, puede consultar el Repositorio de OData C# en GitHub para el código fuente.

OData C# (Cómo funciona para desarrolladores): Figura 1 - OData C# - Protocolo de acceso a datos

OData sigue prácticas estándar para crear APIs web RESTful, utilizando URLs y verbos HTTP como GET y POST para definir operaciones. Representa los datos utilizando un Modelo de Datos de Entidad (EDM) y JSON o AtomPub para la codificación de mensajes. Aunque OData simplifica el desarrollo de API en comparación con GraphQL, puede ofrecer menos características avanzadas.

OData C# (Cómo funciona para desarrolladores): Figura 2 - OData

Beneficios del uso de OData en .NET

  • Estandarización: OData impone una forma consistente de definir modelos de datos de entidad, manejar solicitudes y formatear respuestas. Esto reduce la complejidad del desarrollo y simplifica la integración de aplicaciones cliente.
  • Capacidades de consulta enriquecidas: OData admite una forma uniforme de consultar datos para realizar operaciones CRUD, filtrado ($filter), ordenamiento (orden ascendente/orden descendente)($orderby), y funciones de paginación ($top, $skip), permitiendo a los clientes recuperar conjuntos de datos específicos de manera eficiente.
  • Experiencia de Desarrollo Mejorada: Las bibliotecas de .NET para OData simplifican el desarrollo de API. Los desarrolladores pueden aprovechar componentes preconstruidos para el enrutamiento, manejo de consultas, y serialización de datos, reduciendo la duplicación de código y el tiempo de desarrollo.
  • Interoperabilidad: Los clientes compatibles con OData de varias plataformas pueden interactuar sin problemas con su servicio OData basado en .NET, promoviendo una integración de aplicaciones más amplia.

Cómo empezar con OData en .NET Framework

Las bibliotecas de .NET para OData mejoran la experiencia del desarrollador al facilitar formas eficientes de manipular conjuntos de datos. Simplifica la creación y consumo de APIs RESTful en el desarrollo de .NET. Ofrece un enfoque estandarizado para consultar y manipular datos a través de operaciones CRUD familiares (Crear, Leer, Actualizar, Eliminar).

Cómo configurar OData en proyectos .NET

Empiece por abrir su nuevo proyecto en Visual Studio. Luego, navegue al Explorador de Soluciones, haga clic derecho en su proyecto, y seleccione "Administrar Paquetes NuGet". Busque Microsoft.AspNetCore.OData e instálelo. La versión actual de OData es 8.2.5.

Para instalar OData en la Consola del Administrador de Paquetes de NuGet, use el siguiente comando.

PM > Install-Package Microsoft.AspNetCore.OData

OData C# (Cómo funciona para desarrolladores): Figura 3 - Instalar OData

Ejemplo: Creación de un servicio OData en ASP.NET Core

Vamos a crear una clase de modelo OData simple en una aplicación ASP.NET Core. En el siguiente código, la clase a continuación expondrá una lista de servicios que se pueden consultar usando la sintaxis OData.

public class Service
{
    public int Id { get; set; } 
    public string FirstName { get; set; }
    public decimal Price { get; set; }
}

Descripción del código

La clase Service representa una estructura de datos básica en C# para gestionar un servicio. Incluye tres propiedades: Id: Un identificador entero para el servicio. FirstName: Una cadena que representa el primer nombre asociado con el servicio. Price: Un valor decimal que indica el precio del servicio. Esta clase se puede usar como base para crear funcionalidades relacionadas con servicios más complejas en el desarrollo .NET. También podemos usar propiedades de colección o de navegación basadas en el escenario.

Aquí se muestra cómo puede configurar un controlador OData en una aplicación ASP.NET Core en Visual Studio para exponer una lista de servicios a través de un punto final OData estandarizado. El siguiente ejemplo demuestra una implementación básica utilizando una lista estática de servicios y habilitando funcionalidades de consulta OData en Web API:

using DemoOData.Models;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.OData.Query;
using Microsoft.AspNetCore.OData.Routing.Controllers;

namespace DemoOData.Controllers
{
    [Route("odata/[controller]")]
    public class ServiceController : ODataController
    {
        private static readonly List<Service> Products = new List<Service>
        {
            new Service { Id = 1, FirstName = "Laptop", Price = 6239.9M },
            new Service { Id = 2, FirstName = "Smartphone", Price = 2585.9M }
        };

        [HttpGet]
        [EnableQuery]
        public IActionResult Get() => Ok(Products);
    }
}

Descripción del código

El código proporcionado define un ODataController llamado ServiceController en una aplicación ASP.NET Core, habilitando la consulta y manipulación de datos usando el protocolo OData. Redirige las solicitudes a odata/Service y sirve una lista estática de objetos Service, incluyendo una laptop y un smartphone. El método Get, decorado con [EnableQuery], permite a los clientes realizar consultas OData (filtrar, ordenar, paginar) en la lista de productos, devolviendo los resultados como un IActionResult para solicitudes HTTP GET.

Registrar servicios OData en el Program.cs

Para integrar OData en una aplicación .NET 6, necesitamos instalar y configurar los paquetes necesarios de OData. Esto implica definir el modelo OData, configurar el middleware OData, y configurar servicios para admitir características de OData como filtrado, ordenamiento y expansión.

using DemoOData.Models;
using Microsoft.AspNetCore.OData;
using Microsoft.OData.Edm;
using Microsoft.OData.ModelBuilder;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

static IEdmModel GetEdmModel()
{
    ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
    builder.EntitySet<Service>("Services");
    return builder.GetEdmModel();
}

builder.Services.AddControllers()
    .AddOData(options => options
        .AddRouteComponents("odata", GetEdmModel())
        .Select()
        .Filter()
        .OrderBy()
        .SetMaxTop(20)
        .Count()
        .Expand()
    );

Descripción del código

Este código configura el soporte OData en una aplicación .NET 6. Primero, importa los espacios de nombres necesarios y crea una instancia de WebApplicationBuilder. El método GetEdmModel define el modelo OData usando ODataConventionModelBuilder, que especifica un conjunto de entidades para las entidades Service. El método AddOData se llama luego para configurar servicios OData, incluyendo la habilitación de selección, filtrado, ordenamiento, conteo, expansión y establecer un valor máximo top de 20 para los resultados de consulta. Esta configuración asegura que la aplicación pueda manejar consultas OData de manera efectiva.

El método AddOData() emplea el método GetEdmModel(), que recupera el modelo de datos utilizado para las consultas, formando la base de un servicio OData. Este servicio utiliza un modelo de datos abstracto conocido como Modelo de Datos de Entidad (EDM) para definir los datos expuestos. La clase ODataConventionModelBuilder genera un EDM a través de convenciones de nomenclatura predeterminadas, minimizando los requerimientos de código. Alternativamente, los desarrolladores pueden utilizar la clase ODataModelBuilder para tener mayor control sobre el EDM.

Captura de pantalla del código

OData C# (Cómo funciona para desarrolladores): Figura 4 - Código en Visual Studio

Ejecución del servicio

Después de ejecutar el servicio, puede consultar el Servicio utilizando varias opciones de consulta OData, como:

https://localhost:7131/odata/Service
Text

Resultado del programa

OData C# (Cómo funciona para desarrolladores): Figura 5 - Salida del servicio OData

Introducción a IronPDF

IronPDF es una biblioteca completa de C# diseñada para simplificar la conversión de archivos a PDF, división de páginas PDF, y eliminación de páginas de PDF dentro de aplicaciones .NET. Ofrece una amplia gama de características, incluida la capacidad de generar PDFs desde HTML, CSS, imágenes y JavaScript, permitiendo a los desarrolladores transformar sin esfuerzo contenido web en documentos PDF de alta calidad. Con su API intuitiva y potente motor de renderización, IronPDF permite a los desarrolladores agilizar los procesos de generación de PDF, facilitando la integración de capacidades de generación de documentos dinámicos en sus aplicaciones con facilidad.

OData C# (Cómo funciona para desarrolladores): Figura 6 - IronPDF

Añadir IronPDF al proyecto

Para instalar IronPDF en Visual Studio, navegue a la Consola del Administrador de Paquetes NuGet y use el siguiente comando.

PM > Install-Package IronPdf

Generación de PDF

Para generar un documento PDF a partir de contenido HTML en una aplicación .NET, podemos usar la clase ChromePdfRenderer de una biblioteca como DinkToPdf o similar. Este ejemplo demuestra cómo crear un PDF con detalles de un registro de Empleado.

public record Employee (string FirstName, string LastName);

class Program
{
    static void Main(string[] args)
    {
        var employee = new Employee("Iron", "Developer");
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf($"<h1>Person Record</h1><p>Name: {employee.FirstName} {employee.LastName}</p>");
        pdf.SaveAs("PersonRecord.pdf");
    }
}

Este ejemplo crea un simple registro de Empleado y luego usa IronPDF para generar un documento PDF que muestra el nombre de la persona. Demuestra cómo los records de C# pueden integrarse sin problemas con la generación de PDF en aplicaciones .NET.

OData C# (Cómo funciona para desarrolladores): Figura 7 - Salida PDF

Conclusión

OData simplifica el desarrollo y consumo de APIs RESTful en .NET al proporcionar capacidades estandarizadas de consulta y manipulación. También podemos integrarlo con Entity Framework, mejorando la eficiencia del desarrollo al simplificar el acceso y la gestión de datos. OData simplifica el desarrollo de API, permitiendo la integración y la interoperabilidad fluidas entre varias plataformas con sus ricas funcionalidades de consulta y mejorada experiencia de desarrollo. Además, IronPDF ofrece características exhaustivas y soporte para una manipulación robusta de PDF dentro de aplicaciones .NET.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999