Bonjour à tous,
J'aurais besoin d'un bon tuto qui explique bien le fonctionnement des entityframework. Je dois reprendre un logiciel existant, mais non terminé par un ancien collègue. qui a développer cela en C# WPF .net Framework 4.8.
Le code est mieux structurer que les autres logiciels déjà vu, mais par contre il utilise les EntityFramework pour dialoguer avec les 2 base de données, en local un Sqlite et en distant un MySql.
J'ai un peut de mal a comprendre les commande simplifié LINQ aussi. Personnellement je ne trouve pas que cela simplifie vraiment la compréhension du code, mais bon il faut s'y mettre.
D'un coté cela tombe bien, car pour la refonte des logiciels déjà vu je m'étais penché pour cet solution EntityFramework, car notre logiciel principal utilise Sqlite en local (que l'on aimerais virer pour un MySQL en docker, a voir), et en distant on est sur du MySQL (synchronisation à faire avec le local en cas de coupure avec le serveur distant) aussi voir du Oracle chez certain client. L'utilisation de l'EntityFramework simplifierait les requêtes (plus de gestion spécifique entre MySQL et Oracle) si j'ai bien compris.
Par contre ce qui m'inquiète c'est que les vidéos que j'ai regardé, semble montrer une certaine lenteur dans l'exécution des requêtes et sa cela me gène. Bon pour le logiciel en cours, cela me gène pas, j'ai moins de données.
par exemple, je viens de créer un petit programme pour tenter de mon connecter avec une base existante Sqlite et cela a été déjà compliqué. La déclaration des provider dans le fichier App.config n'etait pas bon en automatique.
Au lieu de invariantName="System.Data.SQLite" il m'avait mis invariantName="System.Data.SQLite.EF6" et cela marchait pas. Bref j'ai des lacunes la dessus et j'aimerais bien mieux comprendre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <providers> <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> <provider invariantName="System.Data.SQLite" type="System.Data.SQLite.EF6.SQLiteProviderServices, System.Data.SQLite.EF6" /> </providers>
J'ai essayé aussi de faire un Rétro-ingénierie sur la base existante, mais pour le moment rien n'a fonctionné.
Merci de votre aide.
Partager