Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Das Protokoll für offene Daten (OData) vereinfacht die Erstellung und Nutzung von RESTful APIs in der Microsoft .NET-Entwicklung. Es bietet einen standardisierten Ansatz zur Abfrage und Bearbeitung von Daten durch vertraute CRUD (Erstellen, Lesen, Aktualisieren, Löschen) operationen. In diesem Artikel wird untersucht, wie das Open Data Protocol die API-Entwicklung in .NET rationalisiert, und es werden Beispiele und die wichtigsten Vorteile hervorgehoben. Um mehr über OData zu erfahren, können Sie die quellcode des OData C# auf GitHub.
OData folgt den Standardpraktiken für die Erstellung von RESTful-Web-APIs und verwendet URLs und HTTP-Verben wie GET und POST zur Definition von Operationen. Es stellt Daten mithilfe eines Entitätsdatenmodells dar (EDM) und JSON oder AtomPub für die Nachrichtenkodierung. OData vereinfacht zwar die API-Entwicklung im Vergleich zu GraphQL, bietet aber möglicherweise weniger fortgeschrittene Funktionen.
Die .NET-Bibliotheken für OData verbessern die Erfahrung der Entwickler, indem sie effiziente Möglichkeiten zur Bearbeitung von Datensätzen bieten. Es vereinfacht den Aufbau und die Nutzung von RESTful APIs in der .NET-Entwicklung. Es bietet einen standardisierten Ansatz zur Abfrage und Bearbeitung von Daten durch vertraute CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen).
Öffnen Sie zunächst Ihr neues Projekt in Visual Studio. Navigieren Sie dann zum Projektmappen-Explorer, klicken Sie mit der rechten Maustaste auf Ihr Projekt, und wählen Sie "NuGet-Pakete verwalten". Suchen Sie hier nach Microsoft.AspNetCore.OData und installieren Sie es. Die aktuelle OData-Version ist 8.2.5.
Um OData in der NuGet Package Manager Console zu installieren, verwenden Sie den folgenden Befehl.
Install-Package Microsoft.AspNetCore.OData
Install-Package Microsoft.AspNetCore.OData
IRON VB CONVERTER ERROR developers@ironsoftware.com
Lassen Sie uns eine einfache OData-Modellklasse in einer ASP.NET Core-Anwendung erstellen. Im folgenden Code stellt die Klasse eine Liste von Diensten zur Verfügung, die mit der OData-Syntax abgefragt werden können.
public class Service
{
public int Id { get; set; }
public string FirstName { get; set; }
public decimal Price { get; set; }
}
public class Service
{
public int Id { get; set; }
public string FirstName { get; set; }
public decimal Price { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Die Klasse ODataModelBuilder stellt eine grundlegende Datenstruktur in C# zur Verwaltung eines Dienstes dar. Sie enthält drei zusätzliche Eigenschaften. Hier lauten die Eigenschaftsnamen: Id: Ein ganzzahliger Bezeichner für den Dienst. Vorname: Eine Zeichenkette, die den mit dem Dienst verbundenen Vornamen darstellt. Preis: Ein Dezimalwert, der den Preis des Dienstes angibt. Diese Klasse kann als Baustein für die Erstellung komplexerer dienstbezogener Funktionen in der .NET-Entwicklung verwendet werden. Je nach Szenario können wir auch die Eigenschaft Sammlung oder Navigationseigenschaften verwenden.
Hier erfahren Sie, wie Sie einen OData-Controller in einer ASP.NET Core-Anwendung in Visual Studio einrichten können, um eine Liste von Diensten über einen standardisierten OData-Endpunkt bereitzustellen. Das folgende Beispiel veranschaulicht eine grundlegende Implementierung unter Verwendung einer statischen Liste von Diensten und der Aktivierung von OData-Abfragefunktionen in der 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);
}
}
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);
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
Der bereitgestellte Code definiert einen ODataController namens ServiceController in einer ASP.NET Core-Anwendung, der die Abfrage und Bearbeitung von Daten mit dem OData-Protokoll ermöglicht. Es leitet Anfragen an "odata/Service" weiter und stellt eine statische Liste von Service-Objekten bereit, darunter ein Laptop und ein Smartphone. Die Get-Methode, dekoriert mit [EnableQuery]ermöglicht Clients die Durchführung von OData-Abfragen (filtern, Sortieren, Blättern) in der Liste Products und gibt die Ergebnisse als IActionResult für HTTP-GET-Anfragen zurück.
Registrierung von OData-Diensten in der Datei Program.cs
Um OData in eine .NET 6-Anwendung zu integrieren, müssen wir die erforderlichen OData-Pakete installieren und konfigurieren. Dazu gehört die Definition des OData-Modells, die Einrichtung der OData-Middleware und die Konfiguration von Diensten zur Unterstützung von OData-Funktionen wie Filterung, Ordnung und Erweiterung.
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()
);
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()
);
IRON VB CONVERTER ERROR developers@ironsoftware.com
Dieser Code konfiguriert die OData-Unterstützung in einer .NET 6-Anwendung. Zunächst werden die erforderlichen Namespaces importiert und eine WebApplicationBuilder-Instanz erstellt. Die GetEdmModel-Methode definiert das OData-Modell unter Verwendung des ODataConventionModelBuilders, der einen Entitätssatz für Dienstentitäten angibt. Die AddOData-Methode wird dann aufgerufen, um OData-Dienste zu konfigurieren, einschließlich der Aktivierung von Select, Filter, Order by, Count, Expand und der Einstellung eines maximalen Top-Wertes von 20 für Abfrageergebnisse. So wird sichergestellt, dass die Anwendung OData-Abfragen effektiv verarbeiten kann.
Die AddOData() methode verwendet das GetEdmModel() methode, die das für die Abfrage verwendete Datenmodell abruft und die Grundlage für einen OData-Dienst bildet. Dieser Dienst verwendet ein abstraktes Datenmodell, das als Entity Data Model (EDM) um die exponierten Daten zu definieren. Die Klasse ODataConventionModelBuilder generiert ein EDM mit Hilfe von Standard-Namenskonventionen und minimiert so die Anforderungen an den Code. Alternativ können Entwickler die ODataModelBuilder-Klasse verwenden, um mehr Kontrolle über den EDM zu erhalten.
Nach der Ausführung des Dienstes können Sie den Dienst mit verschiedenen OData-Abfrageoptionen abfragen, z. B:
https://localhost:7131/odata/Service
https://localhost:7131/odata/Service
IRON VB CONVERTER ERROR developers@ironsoftware.com
IronPDF ist eine umfassende C#-Bibliothek, die zur Vereinfachung der erstellung, manipulationund rendering von PDF-Dokumenten in .NET-Anwendungen. Es bietet eine breite Palette von Funktionen, darunter die Möglichkeit, PDFs aus HTML, CSS, Bildern und JavaScript zu generieren, so dass Entwickler Webinhalte mühelos in hochwertige PDF-Dokumente umwandeln können. Mit seiner intuitiven API und seiner leistungsstarken Rendering-Engine ermöglicht IronPDF Entwicklern die Rationalisierung von PDF-Erzeugungsprozessen und erleichtert die Integration von Funktionen zur dynamischen Dokumentenerzeugung in ihre Anwendungen.
Um IronPDF in Visual Studio zu installieren, navigieren Sie zur NuGet Package Manager Console und verwenden Sie den folgenden Befehl.
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
Um ein PDF-Dokument aus HTML-Inhalten in einer .NET-Anwendung zu generieren, können wir die ChromePdfRenderer-Klasse aus einer Bibliothek wie DinkToPdf oder einer ähnlichen verwenden. Dieses Beispiel zeigt, wie Sie eine PDF-Datei mit den Details eines Mitarbeiterdatensatzes erstellen können.
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: {person.FirstName} {person.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
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: {person.FirstName} {person.LastName}</p>");
pdf.SaveAs("PersonRecord.pdf");
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
In diesem Beispiel wird ein einfacher Mitarbeiter-Datensatz erstellt und dann mit IronPDF ein PDF-Dokument mit dem Namen der Person erzeugt. Es zeigt, wie nahtlos sich C#-Datensätze in die PDF-Erzeugung von .NET-Anwendungen integrieren lassen.
OData vereinfacht die Entwicklung und Nutzung von RESTful-APIs in .NET, indem es standardisierte Abfrage- und Manipulationsfunktionen bereitstellt. Wir können es auch in Entity Framework integrieren, um die Entwicklungseffizienz durch Vereinfachung des Datenzugriffs und der Datenverwaltung zu steigern. OData rationalisiert die API-Entwicklung und ermöglicht eine nahtlose Integration und Interoperabilität über verschiedene Plattformen hinweg mit seinen umfangreichen Abfragefunktionen und der verbesserten Erfahrung für Entwickler. In Bezug auf IronPDF für umfassende Funktionen und Unterstützung.
9 .NET API-Produkte für Ihre Bürodokumente