Écrivez du code C#
EF Core s'occupe du SQL pour DB2 for i
Avec l’extension Entity Framework Core de NTi Data Provider, mappez de manière transparente vos objets .NET aux structures de base de données DB2 for i et inversement, sans écrire une seule ligne de SQL.
| Column | Type |
|---|---|
| PKID | INTEGER |
| NAME | VARCHAR(255) |
| VARCHAR(255) | |
| BIRTHDATE | DATE |
DB2 for i
au standard .NET
Avec EF Core, travaillez comme avec n’importe quelle base moderne.
Code unique, bases multiples
Avec EF Core, le code applicatif est indépendant du SGBD. Le SQL est généré automatiquement selon la base utilisée.
Développement au standard .NET
Même environnement et mêmes outils qu’un projet .NET classique. NTi assure l’accès aux données IBM i.
Sans impact côté IBM i
EF Core coexiste avec les développements IBM i existants. Les requêtes SQL actuelles peuvent être conservées.
Compétences répandues
Les développeurs .NET maîtrisent déjà EF Core. Ils peuvent ainsi intervenir sur IBM i sans compétence spécifique.
Développez à la vitesse du .NET moderne
Manipulez DB2 for i directement en C#. EF Core se charge de la couche d’accès aux données et génère automatiquement les requêtes SQL adaptées.
-
Puissance de LINQ
LINQ est le mécanisme natif du langage C# permettant d’interroger des données sous forme d'expressions typées, avec auto-complétion et validation à la compilation. EF Core s’appuie sur LINQ pour générer automatiquement le SQL adapté à DB2 for i.
-
Automatisation des CRUD
Créations, lectures, mises à jour et suppressions générées automatiquement. EF Core gère jointures et relations complexes.
-
SQL performant et securisé
Les requêtes SQL sont générées automatiquement par EF Core, de manière typée, paramétrée et adaptée à DB2 for i, garantissant performances, cohérence des données et protection contre les injections SQL.
List<User> users = await context.Users
.Where(u => u.Name == "Smith")
.ToListAsync();
SELECT *
FROM USERS
WHERE NAME = 'Smith';
Une extension
conçue spécifiquement pour l'IBM i
Mapping précis des types DB2
Support natif des encodages IBM i (EBCDIC, Unicode) et mapping exact des types DB2 for i (CHAR, DECIMAL, DATE, etc.) vers les types .NET, incluant la gestion des fonctions scalaires.
Du SQL moderne
Tirer profit du moteur SQL de DB2 for i: contraintes d’intégrité, relations, index sont gérées par les mécanismes natifs du SGBD DB2 for i. EF Core s’appuie directement sur ces capacités, sans les réimplémenter côté application.
Gestion des Schémas
Ciblez précisément les bibliothèques IBM i utilisées par l’application. La configuration des schémas s’effectue côté .NET, tout en respectant l’organisation existante de la base.
DB First ou Code First
À vous de choisir
DB First
Modernisation applicativeÀ partir d'une base de données existante et en une ligne de commande, générez automatiquement la couche d'accès aux données ainsi que les éléments d'interface de votre application .NET
Fonctionnalités clés
- Scaffolding automatique depuis une base existante
- Génération des entités C# à partir du schéma existant
- Coexistence avec les structures et traitements déjà en place
- Compatibilité avec les procédures stockées et traitements existants
Code First
Nouveaux projetsVous créez une nouvelle application? Développez sans vous soucier de la base de données: les tables, colonnes et accès CRUDs sont générées automatiquement sans une seule ligne de SQL
Le modèle de données est défini par l’application
- Modèle de données défini en C#
- Création et évolution du schéma via migrations EF Core
- Mapping explicite des tables, colonnes et relations
- Génération automatique des opérations CRUD
Intégration native dans l’écosystème.NET
Toutes les fonctionnalités modernes de .NET disponibles disponible directement pour l'IBM i avec l'extension EF Core pour NTi
ASP.NET Identity
Gérez vos utilisateurs, rôles et droits directement sur DB2 for i.
Authentification
Support natif du MFA et des logins externes (Azure AD, Google, Okta).
DevOps & industrialisation
Intégration native avec les outils .NET: NuGet, Docker, CI/CD et environnements standardisés.
Bénéfices immédiats
En s’appuyant sur Entity Framework Core, NTi aligne le développement IBM i sur les standards actuels du monde .NET.
Vos équipes font de l'IBM i sans s'en rendre compte.
Avec EF Core, les développeurs .NET accèdent nativement à DB2 for i sans nécessiter de compétences IBM i spécifiques.
Démarrez de nouveaux projets applicatifs immédiatement sans avoir à recréer une couche d’accès aux données spécifique IBM i.
Le cadre technique étant déjà posé, les équipes entrent plus vite en phase de développement fonctionnel.
En s’appuyant sur des standards ouverts et largement adoptés, vos nouvelles applications évitent l’accumulation de couches spécifiques et de solutions sur mesure.
Résultat, moins de dépendances internes, une maintenance plus lisible et une dette technique maîtrisée dans le temps.
L’utilisation de patterns et d’outils communs favorise une base applicative cohérente à l’échelle de l’entreprise.
Cela simplifie les revues, la reprise de projets, l’industrialisation DevOps et la gouvernance globale du système d’information.
Exemples concrets
Créez plus, codez moins
Des applications web modernes développées à la vitesse .NET
Contexte
Permettre aux clients de consulter leurs commandes en ligne.
Les données sont réparties dans plusieurs tables IBM i (clients, commandes, tarifs).
Mise en œuvre avec EF Core
- Approche DB First: génération automatique du code C# depuis les tables existantes
- Les développeurs manipulent des objets C# au lieu d'écrire du SQL
- EF Core génère automatiquement les jointures entre les tables
Résultats
Mise à disposition d'un portail web moderne, où chaque client accède à ses données, selon les règles déjà définies dans l'ERP IBM i.
Contexte
Déployer une application mobile pour des préparateurs de commandes sur site, avec une sécurité alignée sur les standards de l’entreprise.
Objectif, éviter toute gestion d’utilisateurs spécifique côté IBM i.
Mise en œuvre avec EF Core
- Backend .NET implémenté avec EF Core et DB2 for i
- Utilisation d’ASP.NET Identity pour la gestion des identités
- Authentification via Azure AD et MFA
- Applications .NET MAUI ou Blazor pour les terminaux mobiles
Résultats
Les opérateurs s’authentifient avec leur compte Microsoft et accèdent à l’application sans gestion d’identités IBM i.
Les opérations terrain (scan, validation, suivi) sont
synchronisées directement avec DB2 for i via EF Core.
Contexte
Un ERP IBM i monolithique devenu difficile à faire évoluer. Besoin d’isoler certaines fonctionnalités (ex. expéditions, suivi logistique) rapidement sans impacter le cœur applicatif.
Mise en œuvre avec EF Core
- Extraction ciblée d’une fonctionnalité dans un service .NET autonome
- Déploiement du service dans un conteneur Docker
- Accès aux données IBM i via EF Core, sans duplication
- API indépendante et consommable par d’autres applications
Résultats
La fonctionnalité isolée évolue, se teste et se déploie de manière autonome.
L’ERP IBM i reste stable, tout en continuant d’assurer la persistance des données.
Des questions?
Oui.
Grace à NTi, l’extension Entity Framework Core peut être utilisée nativement avec DB2 for i, de la même manière qu'avec une base relationnelle moderne de type SQL Server, Oracle ou PostgreSQL.
NTi fournit:
- Un connecteur ADO.NET IBM i, conforme aux contrats attendus par .NET et EF Core.
- Une extension Entity Framework Core dédiée, conçue spécifiquement pour DB2 for i.
Les entités C# sont mappées directement sur les tables existantes, sans modification du schéma, sans duplication de données et sans exposition directe de la base IBM i.
Oui, sous réserve de disposer d'un connecteur capable de traduire les expressions LINQ en SQL spécifique DB2 for i.
L'extension EF Core fournie avec NTi est conçue pour répondre à cette exigence.
Elle gère:
- La génération de SQL adapté DB2 for i.
- Le mapping précis des types de données DB2 vers les types .NET.
- La gestion des transactions.
- La gestion des bibliothèques IBM i (schémas).
Le comportement est aligné avec les mécanismes standards d’Entity Framework Core: EF Core reste agnostique à la base, la traduction étant assurée par le connecteur NTi..
Non, l’approche est progressive et non intrusive.
L’extension EF Core de NTi est une couche d’abstraction qui génère du SQL, mais qui n’impose aucun changement de paradigme.
EF Core peut être utilisé là où il apporte un gain de productivité, tout en conservant:
- Les requêtes SQL existantes.
- Les procédures stockées.
- Les programmes et traitements IBM i existants.
Cette approche hybride permet d’introduire EF Core progressivement, sans remise en cause des mécanismes métier existants ni du patrimoine applicatif IBM i.
EF Core est une couche d’accès aux données, qui intervient entre le code applicatif .NET et la base relationnelle. Il est donc naturellement adapté aux applications qui consomment, exposent ou transforment des données métiers.
Avec l’extension EF Core de NTi, Entity Framework Core est utilisé côté backend .NET pour développer:
- Des applications Web (ASP.NET Core).
- Des API REST.
- Des services métier.
- Des architectures orientées microservices.
Ces backends peuvent ensuite alimenter:
- Des applications web.
- Des applications mobiles.
- D’autres clients applicatifs.
DB2 for i reste le système de référence, tandis que les applications bénéficient des standards de développement, d’outillage et d’industrialisation de tout l’écosystème .NET.
Oui.
L’extension EF Core de NTi s’appuie sur le runtime .NET et sur le connecteur lui même, ce qui la rend compatible avec les environnements d’exécution standards du monde .NET.
Les applications utilisant EF Core avec NTi peuvent être exécutées sur :
- Windows.
- Linux.
- Des conteneurs Docker.
- Des pipelines d’industrialisation et de déploiement CI/CD.
Les applications .NET s’exécutent dans des environnements modernes et standardisés (serveur, conteneur ou cloud), tout en accédant à l'IBM i via NTi. Il reste le backend de données, tandis que l’application demeure pleinement portable et indépendante de l’infrastructure d’exécution.