IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

OData C# (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 21 avril 2026

Le protocole Open Data (OData) simplifie la création et la consommation d'API RESTful dans le développement Microsoft .NET. Il offre une approche standardisée pour interroger et manipuler les données via des opérations CRUD (Create, Read, Update, Delete) familières. Cet article explore comment le Protocole Open Data simplifie le développement d'API dans .NET, en fournissant des exemples et en soulignant ses avantages clés. Pour en savoir plus sur OData, vous pouvez consulter le référentiel GitHub OData C# pour le code source.

OData C# (Comment cela fonctionne pour les développeurs) : Figure 1 - OData C# - Protocole d'accès aux données

OData suit les pratiques standards pour créer des APIs web RESTful, utilisant des URLs et des verbes HTTP comme GET et POST pour définir les opérations. Il représente les données en utilisant un modèle de données d'entité (EDM) et JSON ou AtomPub pour le codage des messages. Tandis qu'OData simplifie le développement d'API par rapport à GraphQL, il pourrait offrir moins de fonctionnalités avancées.

OData C# (Comment cela fonctionne pour les développeurs) : Figure 2 - OData

Avantages de l'Utilisation d'OData dans .NET

  • Standardisation : OData impose un moyen cohérent de définir des modèles de données d'entité, de gérer les requêtes et de formater les réponses. Cela réduit la complexité du développement et simplifie l'intégration des applications clientes.
  • Fonctionnalités de requête avancées : OData soutient une manière uniforme d'interroger les données pour effectuer les opérations CRUD, le filtrage ($filter), le tri (ordre croissant/décroissant) ($orderby), et le découpage en pages ($top, $skip), permettant aux clients de récupérer efficacement des ensembles de données spécifiques.
  • Expérience Développeur Améliorée : Les bibliothèques .NET pour OData simplifient le développement d'API. Les développeurs peuvent tirer parti des composants pré-construits pour le routage, la gestion des requêtes, et la sérialisation des données, réduisant la duplication du code et le temps de développement.
  • Interopérabilité : Les clients compatibles OData de différentes plateformes peuvent interagir en douceur avec votre service OData basé sur .NET, promouvant une intégration d'application plus large.

Commencer avec OData dans le Framework .NET

Les bibliothèques .NET pour OData améliorent l'expérience des développeurs en facilitant des moyens efficaces de manipuler des ensembles de données. Cela simplifie la création et la consommation d'API RESTful dans le développement .NET. Il offre une approche standardisée pour interroger et manipuler des données via des opérations CRUD (Create, Read, Update, Delete) familières.

Configuration d'OData dans les Projets .NET

Commencez par ouvrir votre nouveau projet dans Visual Studio. Ensuite, naviguez dans l'Explorateur de solutions, cliquez avec le bouton droit de la souris sur votre projet, et sélectionnez "Gérer les packages NuGet". Recherchez Microsoft.AspNetCore.OData et installez-le. La version actuelle d'OData est 8.2.5.

Pour installer OData dans la console du gestionnaire de packages NuGet, utilisez la commande suivante.

PM > Install-Package Microsoft.AspNetCore.OData

OData C# (Comment cela fonctionne pour les développeurs) : Figure 3 - Installer OData

Exemple : Création d'un Service OData dans ASP.NET Core

Créons une simple classe de modèle OData dans une application ASP.NET Core. Dans le code suivant, la classe ci-dessous exposera une liste de services pouvant être interrogés en utilisant la syntaxe OData.

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

Description du code

La classe Service représente une structure de données de base en C# pour gérer un service. Elle inclut trois propriétés : Id : Un identifiant entier pour le service. FirstName : Une chaîne de caractères représentant le prénom associé au service. Price: Une valeur décimale indiquant le prix du service. Cette classe peut être utilisée comme un élément de base pour créer des fonctionnalités liées aux services plus complexes dans le développement .NET. Nous pouvons également utiliser des propriétés de collection ou de navigation en fonction du scénario.

Voici comment vous pouvez configurer un contrôleur OData dans une application ASP.NET Core dans Visual Studio pour exposer une liste de services via un point de terminaison OData standardisé. L'exemple suivant démontre une implémentation de base utilisant une liste statique de services et activant les fonctionnalités de requête OData dans l'API Web :

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);
    }
}

Description du code

Le code fourni définit un ODataController nommé ServiceController dans une application ASP.NET Core, permettant d'interroger et de manipuler des données en utilisant le protocole OData. Il achemine les requêtes vers odata/Service et sert une liste statique d'objets Service, incluant un ordinateur portable et un smartphone. La méthode Get, décorée avec [EnableQuery], permet aux clients d'effectuer des requêtes OData (filtrage, tri, pagination) sur la liste des Produits, retournant les résultats comme un IActionResult pour les requêtes HTTP GET.

Enregistrer les services OData dans le Program.cs

Pour intégrer OData dans une application .NET 6, nous devons installer et configurer les packages OData nécessaires. Cela implique de définir le modèle OData, de configurer le middleware OData et de configurer les services pour prendre en charge les fonctionnalités OData telles que le filtrage, l'ordre, et l'expansion.

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()
    );

Description du code

Ce code configure la prise en charge d'OData dans une application .NET 6. Tout d'abord, il importe les espaces de noms nécessaires et crée une instance de WebApplicationBuilder. La méthode GetEdmModel définit le modèle OData en utilisant le ODataConventionModelBuilder, qui spécifie un ensemble d'entités pour des entités Service. La méthode AddOData est ensuite appelée pour configurer les services OData, y compris l'activation de select, filter, order by, count, expand, et la définition d'une valeur top maximale de 20 pour les résultats de requête. Cette configuration assure que l'application peut gérer efficacement les requêtes OData.

La méthode AddOData() emploie la méthode GetEdmModel(), qui récupère le modèle de données utilisé pour les requêtes, formant la fondation d'un service OData. Ce service utilise un modèle de données abstrait connu sous le nom de modèle de données d'entité (EDM) pour définir les données exposées. La classe ODataConventionModelBuilder génère un EDM à travers des conventions de nommage par défaut, minimisant les exigences en matière de code. Alternativement, les développeurs peuvent utiliser la classe ODataModelBuilder pour un meilleur contrôle sur l'EDM.

Capture d'écran du code

OData C# (Comment cela fonctionne pour les développeurs) : Figure 4 - Code dans Visual Studio

Exécution du Service

Après avoir exécuté le service, vous pouvez interroger le Service en utilisant diverses options de requête OData, telles que :

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

Sortie du programme

OData C# (Comment cela fonctionne pour les développeurs) : Figure 5 - Sortie de service OData

Introduction à IronPDF

IronPDF est une bibliothèque C# complète conçue pour simplifier la conversion de fichiers en PDF, le fractionnement des pages PDF et la suppression de pages de PDF dans les applications .NET. Il offre une large gamme de fonctionnalités, y compris la capacité de générer des PDF à partir de HTML, CSS, images, et JavaScript, permettant aux développeurs de transformer sans effort le contenu web en documents PDF de haute qualité. Avec son API intuitive et son moteur de rendu puissant, IronPDF permet aux développeurs de rationaliser les processus de génération de PDF, facilitant l'intégration de capacités de génération de documents dynamiques dans leurs applications en toute simplicité.

OData C# (Comment cela fonctionne pour les développeurs) : Figure 6 - IronPDF

Ajouter IronPDF au Projet

Pour installer IronPDF dans Visual Studio, naviguez vers la Console du gestionnaire de packages NuGet, et utilisez la commande suivante.

PM > Install-Package IronPdf

Génération de PDF

Pour générer un document PDF à partir de contenu HTML dans une application .NET, nous pouvons utiliser la classe ChromePdfRenderer d'une bibliothèque comme DinkToPdf ou similaire. Cet exemple démontre comment créer un PDF avec les détails d'un enregistrement d'Employé.

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");
    }
}

Cet exemple crée un enregistrement simple de Employee puis utilise IronPDF pour générer un document PDF affichant le nom de la personne. Il montre comment les records C# peuvent s'intégrer de manière transparente avec la génération de PDF dans les applications .NET.

OData C# (Comment cela fonctionne pour les développeurs) : Figure 7 - Sortie PDF

Conclusion

OData simplifie le développement et la consommation d'API RESTful dans .NET en fournissant des capacités standardisées de requêtage et de manipulation. Nous pouvons également l'intégrer à Entity Framework, améliorant l'efficacité du développement en simplifiant l'accès et la gestion des données. OData rationalise le développement d'API, permettant une intégration fluide et une interopérabilité sur diverses plateformes avec ses riches fonctionnalités de requête et une expérience développeur améliorée. De plus, IronPDF offre des fonctionnalités complètes et un support pour une manipulation PDF robuste dans les applications .NET.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $